svchost.exe
1. 개요
Windows NT에서 백그라운드 서비스들을 처리하기 위한 포괄적인 호스트 프로세스이다. 따라서 Windows 9x 계열에서는 존재하지 않는다.
Windows NT는 백그라운드에서 실행되는 각종 서비스가 존재한다. 이들 중 별도의 실행파일로 분리되어 있지 않은 서비스[1] 의 실행을 svchost.exe가 맡는다. 때문에 실행되는 svchost.exe 프로세스의 수가 상당히 많다.
중요한 시스템 서비스를 실행하고 있는 경우가 대부분이므로 강제 종료는 권장되지 않는다.
2. 문제점
실행되는 svchost.exe 프로세스 수가 많아서[2] 일부 악성코드는 시스템 프로세스로 위장하기 위해 파일 이름을 svchost.exe으로 하는 경우 있으며 몇몇은 파일 이름을 svchoost.exe 같은 유사한 것로 해서 시스템 폴더에 넣어버린다. 즉 시스템 프로세스로 위장하는데 svchost.exe가 적합하다는 것.
다만 진짜 svchost.exe는 서비스 컨트롤 프로그램인 services.exe 으로부터 실행된다. 따라서 위장 프로그램은 services.exe 의해 실행될리가 없기에 확인할 수 있다.
그것 외에는 일부 svchost.exe의 CPU 사용룔이 100%가 되는 문제가 있기도 한다. 윈도우 업데이트의 경우 서비스로 동작하는데. 업데이트 설치 중에 메모리와 CPU 사용룔이 높아진다.
3. 기타
Windows 10 14942 빌드부터 서비스 비그룹화 기능이 추가되었는데. 실제 컴퓨터 메모리 용량이 3.5GB 이상일 경우 서비스 비그룹화가 된다. 서비스 비그룹화가 된 경우 svchost.exe 프로세스의 수가 상당히 많아진다. 비그룹화하는 이유에는 안정성 향상, 향상된 투명성, 서비스 비용 절감, 보안 강화 등이 있다. 3.5GB 이상이어도 그룹화 상태를 유지하고 싶다면 레지스트리를 조작해야 한다. 방법
4. 관련 문서
[1] 주로 운영체제의 핵심 기능을 담당하는 서비스이다.[2] [image]빨간색 네모 안에 있는 프로그램들이 전부 다 svchost 이다. 그리고 이게 다가 아니고 밑에 더 많다!