很多夥伴的筆電是多年前買的機型,CPU是搭載 Intell P4 相關系列產品,作業系統則以 Win2000 或是 Win XP 系統。在幾乎可確定沒有中毒或被駭的可能之下,如果發現電腦好像永遠都不知道在跑什麼,系統的負載好像很大,這種情形大多是 svchost.exe 在作祟!

正常開機操作使用情況下,開機後每隔一小段時間 svchost.exe 就會跳出來狂吃CPU資源,風扇聲大作而執行中的應用軟體則龜速進展。根據專家統計,每次 svchost 發作,吃個70%~80%是很稀鬆平常的事,有時過份起來甚至可以吃到97%以上,甚至滿百,幾乎是瀕臨當機無法做正事。

由於XP內建的工作管理員所提供的效能資訊極有限,所以大家可以到微軟官網下載了Process Explorer for Windows v10.21來檢查svchost.exe到底都在忙什麼。

下載解壓並執行Process Explorer之後,視窗上可一目瞭然發現是Windwos Update讓電腦忙得不可開交,每隔一段時間就Automatic Updates來狂吃CPU資源。

這種現象當然不是XP正常運作時會出現的,所以需要動點手腳幫已經後天失調的XP相關設定重新調校一下,步驟分為三大項整理如下:

 

(一)確認兩項系統服務。 

(1)Automatic Updates

  1. 依序選取左下的「開始」->「執行」,輸入「services.msc」並按「確定」。(這個步驟主要是叫出服務視窗)
  2. 找到「Automatic Updates」這項服務,連點二下滑鼠左鍵開啟內容設定。
  3. 點選「登入」這個頁籤,先確認目前登入身分為「本機系統帳戶(L)」,而且不勾選底下的「允許服務與桌面互動(W)」。接著再確認「Automatic Updates」這項服務已在目前的「硬體設定檔」中被啟用,若未啟用,則按下「啟用」鍵。

(2)Background Intelligent Transfer Service (BITS)

  1. 在相同服務視窗找到「Background Intelligent Transfer Service」這項服務,連點二下滑鼠左鍵開啟內容設定。
  2. 點選「登入」這個頁籤,先確認目前登入身分為「本機系統帳戶(L)」,而且不勾選底下的「允許服務與桌面互動(W)」。接著再確認「Background Intelligent Transfer Service」這項服務已在目前的「硬體設定檔」中被啟用,若未啟用,則按下「啟用」鍵。 

 

(二)修復 Windwos Update 執行元件。

  1. 依序選取左下的「開始」->「執行」,輸入「REGSVR32 WUAPI.DLL」並按「確定」。接著視窗會跳出「DllRegisterServer 在 WUAPI.DLL 成功」的訊息,按「確定」完成動作並關閉視窗。接著,依照上述步驟逐一執行以下Windwos Update 元件:
  2. REGSVR32 WUAUENG.DLL
  3. REGSVR32 WUAUENG1.DLL
  4. REGSVR32 ATL.DLL
  5. REGSVR32 WUCLTUI.DLL
  6. REGSVR32 WUPS.DLL
  7. REGSVR32 WUPS2.DLL
  8. REGSVR32 WUWEB.DLL

 

(三)清除舊有 Windows Update 暫存目錄。

  1. 依序選取左下的「開始」->「執行」,輸入「cmd」並按「確定」以開啟命令提示視窗。
  2. 在命令提示視窗裡的命令提示字元右方輸入指令「net stop WuAuServ」暫停Automatic Updates服務。
  3. 依序選取左下的「開始」->「執行」,輸入「%windir%」並按「確定」以開啟系統資料夾。
  4. 在系統資料夾裡找到「SoftwareDistribution」這個目錄,並且把它更名為「SDbak」。
  5. 依序選取左下的「開始」->「執行」,輸入「cmd」並按「確定」以開啟命令提示視窗。
  6. 在命令提示視窗裡的命令提示字元右方輸入指令「net start WuAuServ」重新啟動Automatic Updates服務。

 

這樣整過一次骨之後,svchost.exe就沒再出來亂了,果然是欠修理。



轉貼自咖啡的部落格
原文網址: http://jas9.blogspot.com/2007/04/svchostcpu.html  

 


補充說明:


其實 svchost.exe 是微軟作業系統裡一個重要的執行檔,根據 Windows 工作管理員裡的描述,它的中文名稱是「Windows Services 的主機程序」。實際上 Windows 裡面絕大部份的服務都必須依靠它才能啟動。不過也因為它佔了 Windows 作業系統裡極重要的角色,所以曾經真的有病毒利用它來進行系統的破壞。


特別聲明:由於以上文中的設定,是因應 Win 2K 系列平台(包含 XP 和 Win2000 )的系統,所以不適用於其他Windows作業系統喔! 


至於Win7 來說,當 svchost.exe 出現異常的使用狀況時,例如突然佔用大量的記憶體或是使 CPU 資源,我們就可以利用 Windows 工作管理員來找出這個使用異常的 svchost.exe 的 PID,然後再打開 Svchost Viewer 找出這個 PID 的 svchost.exe 有沒有什麼外來的、可疑的程式正在使用它,然後以此判斷電腦是不是有被病毒入侵。


 Svchost Viewer  下載網址: http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=svchostviewer&DownloadId=44092

 

arrow
arrow
    全站熱搜

    kitty 發表在 痞客邦 留言(0) 人氣()