Maystyle :
Admin : New post
Guestbook
Local
media
Catergories
Recent Articles
Recent Comments
Recent Trackbacks
Calendar
Tag
Archive
Link
Search
 
  갑자기 컴퓨터가 느려지고 svchost가 CPU를 100% 점유할 때 
작성일시 : 2007. 5. 20. 20:34 | 분류 : Windows Server/Kernel

글을 업데이트 합니다. 최근 관련 Patch가 나왔습니다. 설치하세요.
http://support.microsoft.com/kb/932494/ko
해당 hotfix를 설치하시면 됩니다. (sankim님 감사합니다...^^)

최근에 제가 svchost.exe가 cpu를 점유하는 현상을 발견했습니다.
해당 svchost는 wuauctl.exe(윈도우즈 업데이트 서비스)를 호스팅하는 실행 파일이였습니다.
(process explorer 를 통해 확인)
해당 문제점을 Fix 하기 위해서 C:\WINDOWS\SoftwareDistribution\DataStore\DataStore.edb 를 eseutil 을 이용하는 방법이 있지만 간단하게 해당 파일과 로그를 삭제하는 방법도 있긴 합니다.

다음 글은 제가 해당 문제점을 발견하고 Fix 한 내역입니다...^________^

[원인]


Windows Update Service
가 사용하는 EDB 데이터 베이스 깨짐 현상으로 인한 해당 EDB에 대한 잘못된 I/O발생

문제 Data 파일 : Datastore.edb ( Installer , Window Update , WSUS , SMS ITMU , MBSA , WMI , WSH Host Script 기반 Update 검색 프로그램 류에서 모두 사용중 )

 

Software Distribution EDB를 사용하는 모든 프로그램들이 동일 장애를 발생시켰을 것으로 추정 됨

 

더불어 말씀 드리자면 해당 edb가 깨진 원인을 알 수 없으나, 과거 Msxml 관련 업데이트 장애로 인해 자꾸 업데이트를 진행했던 부분이 의심 스럽습니다.

해당 유저들이 특정 16진수 문자열 값으로 된 폴더들이 지속적으로 생성 되고 있는지 확인 부탁드리겠습니다.

 

[해결 방법]

 

- Windows Update 관련 DLL 재 등록

1. 시작-> 실행

2. "REGSVR32 WUAPI.DLL" 실행

3. "DllRegisterServer in WUAPI.DLL 성공" 메시지 출력

4.  시작-> 실행을 누르고 다음 항목을 실행

     REGSVR32 WUAUENG.DLL

     REGSVR32 WUAUENG1.DLL

     REGSVR32 ATL.DLL

     REGSVR32 WUCLTUI.DLL

     REGSVR32 WUPS.DLL

     REGSVR32 WUPS2.DLL

     REGSVR32 WUWEB.DLL

 

- 재 부팅을 실행

 

1. 시작->실행을 누르시고 " cmd"를 입력합니다. cmd 창이 열리면 다음을 입력

net stop WuAuServ

2. C:\windows\SoftwareDistribution 폴더 이름 변경

Ex) SoftwareDistribution에서 SoftwareDistribution_ 으로 변경

 

- 재 부팅 한 후 경과를 관찰

 

[분석 내역]

 

1.     입출력되는 DLL  EXPORT 내용의 분석

2.     Register 되는 항목 분석

3.     Microsoft EDB Database ( 업데이트및 패치의 적용사항이 저장되는 윈도우상의 내장 DB)의 변동 내용 분석

4.     Window Update Loging 기능 활성 화로 업데이트 과정 로그 생성및 분석

 ---> 관련 키값

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Trace  

    (gives extensive tracing in WindowsUpdate.log)

    Flags REG_DWORD 7

    Level REG_DWORD 4

 

 [분석 결과]


1.
    
문제 분석 과정에서 SoftwareDistribution/DataStore DataStore database 에 데이터 입출력 과정에서 특정 조건에서 SvcHost가 비정상으로 동작 하는 부분을 발견  

2.     SvcHost 90-100%의 사용율을 보일때 Svchost에 연관된 Dll에서 IN/EXPort 되는 내용 없었고 RegMonitor 프로그램상에서 레지스트리상에 등록되는 항목이 없음을 확인

3.     1번과 2번을 미루어 본 결과 해당 Software Update가 사용하는 EDB의 손상이 주원인이 될 것으로 추정

|