rand(life)

CPU 점유율과 Svchost.exe 본문

컴퓨터/컴퓨터일반

CPU 점유율과 Svchost.exe

flogsta 2007. 3. 30. 20:00

출처: 매니안 닷컴


Svchost.exe는 DLL로 실행되는 서비스를 그룹화하는데 이용되는 프로세서다. 이와같은 서비스그룹화는 시스템효율을 향상시키는 이점이 잇지만 문제가 발생했을때 어느 서비스에서 문제가 생겼는지 파악하기 어려운 단점이 있다. 윈도우XP를 쓰다보면ㅁ 특정 프로세스의 CPU점유율이 100%로 올라가는 경우가 있는데, Svchost.exe가 그 주범일 가능성이 많다. 작업관리자에서 시스템리소스를 이용하는 프로세서들의 리스트를 확인할 수 있다.

하지만, Svchost.exe는 실제 문제를 일으킨 프로세스가 아니라 문제를 일으킨 프로세스를 그룹화해 실행하는 프로세스이기 때문에 문제의 구체적인 원인을 파악하기란 쉽지 않다. 따라서 CPU를 100% 점유하는 프로세스가 Svchost.exe 일 경우 다음 절차에 따라 그 정확한 원인을 파악해야한다.


1. "Ctrl+Shift+Esc"를 눌러 작업관리자를 실행한다.

2. 프로세스 탭을 선택한다.

3. CPU열을 더블클릭해 CPU점유율이 높은 프로세서가 최상단에 오도록한다.

4. '제어판-관리도구-서비스'를 클릭한다.

5. 우측패널에서 상태열을 클릭한다.

6. 수직이동막대를 서비스목록의 하단으로 끌어내린다.

7. '시작됨'으로 되어있는 서비스가운데 Svchost.exe를 이용하는 서비스를 클릭한다. 서비스는 'Svchost.exe를 기동하는 서비스찾기'를 이용해 찾는다.

8. 서비스 스냅인의 상태막대에서 서비스이용중지 아이콘을 클릭한다.

9. 작업관리자에서 Svchost.exe의 CPU점유율이 0%로 떨어질때까지 7-8단계를 반복한다.

10. CPU점유율이 0%로 떨어졌으면 해당 서비스를 더블클릭한다.

11. 시작유형을 '사용안함'으로 설정하고 적용버튼을 누른다.

12. 시스템을 재부팅한다.


이 방법으로 CPU를 100% 점유하는 프로세스가 무엇인지 파악할 수있지만 이 프로세스가 왜 CPU를 100%점유하는지는 알 수 없다. 이 부분은 각자의 컴퓨터 환경에 의존하는 부분이기 때문이다. 해당 서비스가 필요한 서비스인지 아닌지를 먼저 판단하고, 만약 불필요한 서비스라면 '사용안함'으로 설정하면 된다.


다음은 Svchost.exe를 쓰는 서비스를 어떻게 찾는지에 대해서도 알아보자.


1. 시작-실행-cmd

2. 명령행에서 다음행을 입력한다.

tasklist /svc

여기서 주의할 점은 RpcSs는 레지스트리에서 이용하는 서비스이름이고, 서비스 스냅인에서 쓰는 표시이름과는 다르다는 점이다. 따라서 서비스스냅인을 이용해서 해당서비스의 동작을 해제할 경우에는 실제 표시되는 이름을 찾아야한다.


서비스이름                     표시이름

RpcSs                           Remote Procedure Call (RPC)

Browser                        Computer Browser

LmHosts                        TCP/IP NetBIOS Helper Service