Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

conhost.exe란 무엇인가? NVIDIA 그래픽 환경에서 여러 개 실행되는 이유까지 총정리

Windows 작업 관리자를 열다 보면 conhost.exe라는 프로세스를 본 적이 있을 것입니다. 그래픽 작업을 많이 하는 사용자나 NVIDIA 그래픽 카드를 사용하는 분들이라면 conhost 인스턴스가 여러 개 동시에 실행되는 것도 목격했을 텐데요. 이 글에서는 conhost.exe가 정확히 어떤 프로세스인지, 왜 여러 개가 실행되는지, 그리고 시스템과 어떤 관련이 있는지 자세히 알아보겠습니다.

conhost.exe(콘솔 창 호스트)란 무엇인가?

conhost는 Console Window Host(콘솔 창 호스트)의 줄임말입니다. 이해를 돕기 위해 간단한 역사를 짚어보겠습니다.

Windows XP 시절에는 명령 프롬프트(Command Prompt)가 CSRSS(Client Server Runtime System Service)라는 시스템 서비스가 직접 처리했습니다. 그런데 CSRSS는 오류가 발생하면 시스템 전체가 함께 다운되는 문제가 있었고, 시스템 프로세스 특성상 개발자가 테마 요소를 적용한 코드를 실행하기도 어려웠습니다.

Windows Vista에서는 DWM(Desktop Window Manager)이 도입되었습니다. 이 서비스는 각 애플리케이션이 직접 화면을 그리던 방식 대신 데스크톱의 합성된 화면을 한꺼번에 렌더링하는 역할을 맡았습니다. 덕분에 명령 프롬프트도 다른 Windows 창과 비슷한 수준의 테마를 적용받게 되었지만, DWM은 제목 표시줄과 창 테두리만 담당했기 때문에 스크롤바 등 나머지 요소는 여전히 구식 모습 그대로였습니다.

Windows 7부터 등장한 것이 바로 conhost.exe(Console Window Host)입니다. 이름 그대로 콘솔 창을 위한 호스트 프로세스로, CSRSS와 명령 프롬프트 사이의 인터페이스 역할을 수행합니다. 이를 통해 기존의 문제점들이 해결되었는데, 명령 프롬프트 창 전체에 테마를 적용하거나 창에 파일을 드래그 앤 드롭하는 기능이 대표적입니다. conhost.exe는 Windows 10까지 이어져 왔으며, 새롭게 추가된 다양한 UI 요소와 스타일을 지원하는 토대가 되었습니다.

작업 관리자에는 여러 개의 Console Window Host 인스턴스가 표시되지만, 이 프로세스는 여전히 CSRSS와 연관되어 있습니다. Process Explorer로 conhost.exe 프로세스를 확인해 보면 실제로 csrss.exe 하위에서 실행되는 것을 확인할 수 있습니다.

conhost.exe란 무엇인가? NVIDIA 그래픽 환경에서 여러 개 실행되는 이유까지 총정리

정리하면, Console Window Host는 CSRSS 같은 시스템 서비스의 실행을 담당하는 일종의 셸(shell)이면서, 동시에 최신 사용자 인터페이스 요소를 활용할 수 있도록 지원하는 역할을 합니다.

conhost.exe가 여러 개 실행되는 이유

글 초반에 언급했듯이 작업 관리자에는 Console Window Host 프로세스가 여러 개 표시되는 경우가 많습니다. 그 이유는 간단합니다. 실행 중인 명령 프롬프트 세션마다 각각 자신만의 Console Window Host 프로세스를 가지기 때문입니다. 서드파티 애플리케이션이든 Windows 자체든, 창이 화면에 보이지 않더라도 프롬프트가 실행 중이라면 해당 인스턴스가 작업 관리자에 나타납니다. 예를 들어 백그라운드에서 명령줄 기반으로 조용히 업데이트를 진행하는 애플리케이션도 conhost 인스턴스를 하나 생성합니다.

따라서 작업 관리자에서 conhost.exe가 여러 개 실행되는 것은 매우 흔한 일이며, 이들 인스턴스는 CPU와 RAM을 아주 적게 사용합니다. 다만 CPU나 메모리 사용량이 지속적으로 비정상적으로 높다면 더 깊이 원인을 파악해야 합니다. 어떤 애플리케이션이 관련되어 있는지 확인하려면 Microsoft의 Process Explorer를 내려받아 실행해 보는 것이 좋습니다. 이 도구를 활용하면 프로세스 간의 관계와 리소스 사용 현황을 훨씬 상세하게 파악할 수 있습니다.

conhost.exe는 바이러스일 수 있을까?

conhost.exe 자체는 악성코드가 아니라 Windows의 필수 구성 요소입니다. 하지만 바이러스가 진짜 Console Window Host를 자신의 프로세스로 대체하는 경우는 있을 수 있습니다. 이런 경우는 의심되는 인스턴스를 마우스 오른쪽 버튼으로 클릭한 후 '파일 위치 열기(Open file location)'를 선택하면 쉽게 확인할 수 있습니다.

conhost.exe란 무엇인가? NVIDIA 그래픽 환경에서 여러 개 실행되는 이유까지 총정리

파일 위치가 C:\Windows\System32라면 정상 파일이라고 확신할 수 있습니다. 반면 %userprofile%\AppData\Roaming\Microsoft처럼 전혀 다른 경로에 있다면 바이러스를 의심해 봐야 합니다. 실제로 conhost.exe로 위장해 각종 악성 행위를 수행하는 멀웨어도 존재하기 때문입니다. 보다 확실한 대책으로는 Malwarebytes 같은 신뢰할 수 있는 백신 프로그램을 설치하고 PC 전체 맬웨어 검사를 정기적으로 실행하는 것이 좋습니다.