Computer >> 컴퓨터 >  >> 시스템 >> Windows 10

COM 서로게이트(dllhost.exe)란? 내 PC에서 실행되는 이유와 오류 해결법

작업 관리자로 윈도우 PC의 프로세스 목록을 살펴보면 어쩐지 불안해지기 쉽습니다. 낯선 이름의 프로그램들이 수없이 실행 중인데, 무엇이 안전하고 무엇이 위험한지 알 방법이 없기 때문입니다. 그중 하나가 바로 COM 서로게이트(dllhost.exe)인데요. 사실 이 프로세스는 생각보다 훨씬 평범한 역할을 담당합니다.

COM 서로게이트(dllhost.exe)란? 내 PC에서 실행되는 이유와 오류 해결법

COM 서로게이트(dllhost.exe)란 무엇일까?

COM은 '컴포넌트 오브젝트 모델(Component Object Model)'의 약자입니다. 마이크로소프트가 1990년대 초반에 도입한 기술로, 프로그래머가 기존 소프트웨어의 기능을 손쉽게 확장할 수 있도록 설계되었습니다. 쉽게 말해 윈도우 탐색기 같은 기존 프로그램에 새로운 기능을 추가할 수 있게 해주는 일종의 플러그인 시스템이라고 볼 수 있습니다.

프로그램의 기능을 동적으로 확장할 수 있다는 점은 큰 장점이지만, 단점도 존재합니다. COM 모듈이 잘못 작성되었거나 어떤 이유로든 충돌하면, 그 모듈이 탑재된 본체 프로그램까지 함께 충돌한다는 것입니다. COM과 메인 프로그램이 하나의 프로세스로 함께 실행되기 때문입니다.

COM 서로게이트(dllhost.exe)란? 내 PC에서 실행되는 이유와 오류 해결법

바로 이 지점에서 COM 서로게이트가 등장합니다. 이 방식은 COM을 마치 독립적인 프로그램처럼 자체 프로세스에서 분리하여 실행합니다. 메인 프로그램과 COM 서로게이트 프로세스는 필요할 때 서로 통신하며 협업하지만, COM 서로게이트가 충돌하더라도 자신의 프로세스만 종료될 뿐 다른 프로그램에는 영향을 주지 않습니다. 덕분에 시스템 전체의 안정성이 크게 향상됩니다.

COM 서로게이트(dllhost.exe)는 안전할까?

dllhost.exe의 안전 여부는 간단히 답하기 어려운 질문입니다. 실행 중인 특정 COM에 따라 결과가 달라지기 때문입니다. 대부분 유용한 작업을 수행하는 정상 프로세스를 호스팅하지만, 잘못 작성된 COM이나 COM 서로게이트 프레임워크에 기생하는 멀웨어가 시스템에 피해를 주거나 악성 코드를 실행할 가능성도 전혀 없지는 않습니다.

COM 서로게이트 파일 위치 확인하기

정상적인 dllhost.exe 파일은 단 한 곳에만 존재합니다. 바로 윈도우 폴더 안의 System32 폴더입니다. 기본 경로는 시스템 드라이브(보통 C 드라이브)의 Windows > System32입니다. 이 파일이 다른 위치에서 발견된다면 바이러스일 가능성이 있으므로 반드시 백신 검사를 진행하세요.

COM 서로게이트(dllhost.exe)란? 내 PC에서 실행되는 이유와 오류 해결법

COM 서로게이트의 정상 여부 확인하기

앞서 언급했듯이 작업 관리자에서 보이는 COM 서로게이트는 특정 응용 프로그램이 아니라 다른 프로세스를 감싸는 껍데기일 뿐입니다. 특정 COM 서로게이트 프로세스 내부에서 실제로 무엇이 실행되고 있는지 쉽게 파악할 수 없기 때문에, 의심스러운 동작을 확인할 수 있는 사실상 유일한 방법은 백신 프로그램을 사용하는 것입니다.

물론 백신 프로그램은 평소에도 주기적으로 실행하는 것이 좋습니다. 만약 COM 서로게이트가 비정상적으로 많은 리소스를 소모하거나 시스템 불안정을 일으킨다면, 그것이 원인일 가능성이 있습니다.

다만 해당 COM 서로게이트 프로세스가 악성이 아니라 단순히 버그를 포함하고 있는 경우일 수도 있습니다. 작업 중인 문서를 모두 저장한 상태라면 해당 COM 서로게이트 프로세스를 강제 종료해 보세요. 프로세스를 종료한 직후 충돌하거나 멈추는 프로그램이 바로 연관된 프로그램일 가능성이 높습니다. 범인으로 추정되는 프로그램을 찾았다면 컴퓨터를 재부팅하세요.

COM 서로게이트 오류 해결하기

COM 서로게이트 오류는 종종 발생하며, 사람들이 이 프로세스 이름을 검색하게 되는 가장 흔한 이유이기도 합니다. "COM 서로게이트의 작동이 중지되었습니다"라는 오류 메시지는 처음에는 난해해 보이지만, COM 서로게이트의 역할을 알고 나면 이 프로세스가 실제로는 제 역할을 다하고 있다는 사실이 분명해집니다.

COM 서로게이트는 프로그램 확장 기능이 메인 프로세스를 충돌시키지 않도록 보호하는 역할을 합니다. 따라서 이 오류의 원인은 서로게이트 내부에서 실행되던 특정 COM 모듈에서 찾을 수 있습니다.

COM 서로게이트(dllhost.exe)란? 내 PC에서 실행되는 이유와 오류 해결법

서로게이트 자체가 내부의 COM을 가려주기 때문에 어떤 COM이 원인인지 알아내기는 쉽지 않습니다. 하지만 주요 용의자는 몇 군데 정해져 있습니다.

  • 서드파티 비디오 코덱이 오래된 경우: 코덱이 설치되어 있다면 제거하거나 최신 버전으로 업데이트하세요.
  • 백신 프로그램의 간섭: 백신이 COM 서로게이트와 충돌할 수 있습니다. 일시적으로 비활성화해 보고, 문제가 해결된다면 다른 백신으로 교체하거나 최신 버전으로 업데이트하세요.
  • 디스크 오류 검사: CHKDSK 같은 유틸리티로 디스크 오류 여부를 점검하세요.
  • 시스템 파일 손상 검사: 시스템 파일 검사기(SFC)를 사용해 손상된 시스템 파일을 확인하고 복구하세요.
  • 드라이버 문제: 최근 업데이트한 드라이버를 롤백하거나, 특히 디스플레이·프린터 드라이버를 최신 상태로 유지하세요. 해당되는 경우 제조사 표준 GPU 드라이버와 OEM 버전을 모두 테스트해 보는 것도 좋습니다.

서로게이트 내부에서 실행 중인 COM이 정확히 무엇인지 진단하고 싶다면, 좀 더 기술적인 방법도 있습니다.

Process Explorer로 COM 서로게이트 내부 들여다보기

마이크로소프트는 'Process Explorer'라는 선택적 유틸리티를 제공합니다. 이 도구는 다양한 용도로 활용할 수 있습니다. 예를 들어 어떤 프로그램이 폴더를 사용 중이라 삭제할 수 없다는 안내를 받았을 때, Process Explorer를 사용하면 컴퓨터 전체를 재시작하지 않고도 해당 프로그램이 무엇인지 확인하고 강제로 종료할 수 있습니다.

Process Explorer를 다운로드해 실행하면 다음과 같은 창이 나타납니다.

COM 서로게이트(dllhost.exe)란? 내 PC에서 실행되는 이유와 오류 해결법

COM 서로게이트의 실제 이름은 dllhost.exe라는 점을 기억하세요. 목록에서 dllhost.exe를 찾아 마우스 포인터를 올려 놓으면, 작은 팝업에 호스팅 중인 DLL 파일이 표시됩니다. 보통 이 정보만으로 어떤 프로그램과 연결되어 있는지 파악할 수 있습니다. DLL 이름만으로 판단이 어렵다면 구글로 검색하면 확실한 답을 얻을 수 있습니다.

마무리

정리하자면, 이번 글을 통해 COM이 무엇인지, COM 서로게이트가 어떤 역할을 하는지, 가장 흔한 문제를 해결하는 방법, 그리고 어떤 COM을 다루고 있는지 파악하는 방법까지 모두 알아보았습니다. 이 글이 COM 관련 문제를 한 번에 해결하는 데 도움이 되기를 바랍니다.