文章一:
Win7開機後svchost..exe佔用CPU和內存很高的解決方法
近來,經常發現win7系統開機後反應超慢,經過檢查發現佔用CPU和內存很高。這種情況要持續十幾分鐘,之後就正常了。
各種開機項目都禁止了,還是如此。有可以的服務也禁止了,依舊如此。實在搞不明白了,難道是中病毒或者木馬了?
經過一番網絡上的調查,發現很多人說的我都實驗過了,還是不行。終究找到了一個篇特殊的。說的可能window update導致的。於是參考這篇文章找到C:\Windows\SoftwareDistribution\DataStore\DataStore.edb這個文件。發現這個文件500多M。
查看該進程對應服務,有很多服務都依賴他,包括windows update,資源監視器中進程顯示為svchost..exe(netsvcs),
可以判定不是病毒引起的。以前用Vista也遇到這個問題,刪除C:\Windows\SoftwareDistribution\DataStore\DataStore.edb這個文件可以解決問題,並且以前在Vista下就是這樣做的,可以解決問題,但是過段時間就又會出現,並且這樣做的缺點是windows update無法查看以前的更新歷史。據說正常情況下這個文件大小應該在幾兆,
以前Vista超過40M就會導致開機CPU過高,現在我的win7已經達到了114M。
經過刪掉這個文件,重新啟動後,一切正常!
再去查看這個文件發現,這個文件又重新生成了。不過這次很小也就8M多點。
後來又一次在其他機器上遇到這種情況,發現將C:\Windows\SoftwareDistribution\文件夾下的所有文件清除也沒有什麼問題,這樣更快更直接。因為此文件夾下還有自動更新下載下來的一些文件,在download文件夾下。如果時間很長的話,這個文件夾一般文件比較多也比較大。後來在網絡上又發現一篇文章,說的解決辦法如下:
1、首先結束佔用100%的svchost.exe進程,讓計算機恢復正常。
2、結束wuauclt.exe進程。
3、進入「控制面板-管理工具-服務」,關閉AutomaticUpdates服務。
4、清除C:\WINDOWS\SoftwareDistribution所有文件。
5、進入「管理工具\服務」,再啟動AutomaticUpdates服務。
完成上述操作後重啟電腦,問題一般都可以解決。
本文引自:http://blog.csdn.net/lingxyd_0/article/details/44700421
文章二
吃掉所有CPU資源的 svchost.exe
過年回到家後發現,家裡的 PC 和老媽的 Notebook ,莫名其妙的都會被 svchost.exe 佔用掉所有的 CPU 資源(難怪老媽一直跟我抱怨新買的 Notebook 總是跑的很慢 XD)。一看到這個情況,腦中馬上浮現「不會是中毒了吧」的念頭,於是在 CPU 使用率總是停在100%的狀態下,花了半天的時間才把兩台電腦做掃毒、掃木馬以及Windows Update。結果當然,事情不是憨人想的那麼簡單,好幾個小時換來的代價就是,連個子兒都沒掃到,神秘的svchost.exe仍舊霸道地侵佔我的CPU。無可奈何之下只好求助Google大神,試了好多種解法都禺用,不過總算是皇天不負苦心人,最後還是讓我找到了解決的方法。
svchost.exe 吃掉所有 CPU 資源的原因很多,不過我的狀況都是在執行 Windwos Update 時發生的(或是自動更新服務 Automatic Updates 執行時)。因此解決方法主要就是把 Windows 的自動更新重設一次,步驟如下:
一、首先檢查系統服務的狀態。
1. 點「開始」\「執行」,輸入「services.msc」後按「確定」。
2. 在服務「Automatic Updates」上點二下。
3. 點選「登入」頁籤,確定登入身份為「本機系統帳戶」且「允許服務與桌面互動」沒有被選取。
4. 確認服務已在目前的「硬體設定檔」中被啟用,如果沒有,按下「啟用」按鈕。
5. 點選「一般」頁籤,確定「啟動類型」為「自動」,然後按下「啟動」按鈕以啟動服務。
6. 對「Background Intelligent Transfer Service (BITS) 」服務重覆 2 ~ 5 的步驟。
二、接著重新註冊 Windwos Update 的元件。
1. 點選「開始」\「執行」。
2. 輸入「REGSVR32 WUAPI.DLL」後按 Enter。
3. 當看到 「DllRegisterServer 在 WUAPI.DLL 成功” 的訊息後按下「確定」。
4. 重覆上述步驟重新註冊下列元件
REGSVR32 WUAUENG.DLL
REGSVR32 WUAUENG1.DLL
REGSVR32 ATL.DLL
REGSVR32 WUCLTUI.DLL
REGSVR32 WUPS.DLL
REGSVR32 WUPS2.DLL
REGSVR32 WUWEB.DLL
三、最後清除可能已損壞了的 Windows Update 暫存目錄。
1. 點「開始」\「執行」,輸入「cmd」後按「確定」。
2. 在命令提示字元中鍵入以下指令。(若出現錯誤訊息請先重開機後再報執行一次)
net stop WuAuServ
2. 點「開始」\「執行」,輸入「%windir%」後按「確定」。
3. 找到「SoftwareDistribution」並更名為「SDold」。
4. 點「開始」\「執行」,輸入「cmd」後按「確定」,並在在命令提示字元中鍵入以下指令。
net start WuAuServ
四、大功告成!
發佈留言