XP가 마구 돌아가며 멈출때
cpu 100% svchost가 점유할 때...

 

ctrl-alt-del을 눌러서 실행되는 프로세서를 보면 svchost.exe이 cpu점유를 거의 99%가까이 해서 컴퓨터 팬이 소란스럽게 돌면서, 컴퓨터는 거의 다운되는 지경에 이르른다.

 

svchost는 비슷한 프로세스처리를 묶어서 수행하는 서비스이기 때문에, svchost가 문제를 일으키더라도 어떤 프로그램이 문제가 있는지 확인하기 어렵다.

 

process explorer라는 프로그램은 마이크로 소프트사 홈페이지에 등재되어 있을 정도로 프로세스를 상세히 확인할 수 있는 훌륭한 프로그램이다. 제작사는 인터널시스템이라는 회사이다. 다음 링크에서 다운 받을 수 있다. 프리웨어이다.

http://www.microsoft.com/technet/sysinternals/utilities/ProcessExplorer.mspx

 

process explorer를 사용하여 문제를 일으키는 프로그램을 확인하면, wuauctl.exe라는 프로그램이 범인이다. 윈도우 자동 업데이트 프로그램이다.

 

몇년전에도 업데이트에서 비슷한 문제가 있었는데, 이번에도 마찬가지로 비스타가 나오면서 업데이트에서 문제가 발생한 것이다. 모든 경우에 발생하는 것은 아닌 것 같다.

 

원인에 대해서는 윈도우 업데이트 WU가 있고, 새로이 마이크로소프트 업데이트 MU 프로그램이 있는데, 새로 변경된 업데이트 프로그램이 문제라고 한다. MU를 설치제거하고 다시 WU로 돌아가는 것이 해결책이라고 제시한 사람도 있다.

 

당장 급한 미봉책은 제어판에서 '자동 업데이트'를 사용하지 않도록 하는 것이다. PC가 cpu 100% 상황을 막을 수 있다.

 

그리고, Microsoft MVP이 제시한 방법은, C:\WINDOWS\SoftwareDistribution\DataStore 폴더와 파일을 삭제하는 것이다.

 

요약하면,

 

<문제>
cpu 100% 점유 - svchost 문제일 경우
wuauctl 윈도우 업데이트 문제 : 프로세스 익스플로러로 확인


<해결>
C:\WINDOWS\SoftwareDistribution\DataStore 폴더와 파일 삭제

 

쉽다.. 하지만, 이 문제로 밤을 세웠다. 그리고, 나말고도 밤샌 사람 많은 것으로 알고 있다. -.-;  그런 사람 없기를 바라면서 블로그로 적는다. 



윈도우XP 환경에서 시스템을 장시간 이용하다보면 시스템이 매우 느려지는 때가 있다. 이때 작업관리자를 열어 확인해보면, Svchost.exe가 CPU 점유율을 100% 차지하고 있는 경우

 

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 HelperService


<출처 : pcLine 4월>




Posted by BAGE