解決svchost.exe占用CPU 100%的方法
最近在使用電腦時,我遇到了一個問題:電腦運行緩慢,查看任務管理器后發現CPU被一個名為svchost.exe的進程占用了99%的資源。當我結束這個進程后,發現無法上網(因為結束了關鍵進程svchost
最近在使用電腦時,我遇到了一個問題:電腦運行緩慢,查看任務管理器后發現CPU被一個名為svchost.exe的進程占用了99%的資源。當我結束這個進程后,發現無法上網(因為結束了關鍵進程svchost.exe)。重新啟動電腦后,我發現在沒有連接網絡的情況下,svchost.exe運行正常,沒有占用多余資源,CPU資源占用也正常。但是一旦連接網絡,過一段時間后,svchost.exe又開始占用大量的CPU資源,導致系統變得非常慢。
我以為是中了病毒,于是重新安裝了系統并更新補丁。然而,問題仍然存在。我取消了自動更新的設置,這次問題再次出現。我意識到是自動更新導致的問題。于是我打開了控制面板管理工具服務,找到了"Automatic Updates"(自動更新)服務,停止了該服務后,發現svchost.exe的資源占用情況恢復正常。問題終于得到解決。
在網絡上搜索后,我發現很多人都遇到了類似的問題。主要表現為:1.電腦啟動后幾分鐘,svchost.exe占用系統CPU資源接近100%,大約在99%左右。2.拔掉網線后,svchost.exe恢復正常,但是重新連接上網后不久,又會出現svchost.exe占用CPU資源的問題。
解決方法
首先,我們需要使用殺毒軟件進行全面排查,以排除病毒的影響。其次,清空C:WINDOWSSoftwareDistribution目錄下的所有文件,并重啟電腦即可。這個目錄是Windows Update服務的臨時文件存放目錄。如果系統提示文件正在使用,無法刪除該目錄,則需要打開控制面板管理工具服務,找到"Automatic Updates"(自動更新)服務,停止并設置為手動啟動,然后重啟電腦。重啟后再次刪除C:WINDOWSSoftwareDistribution目錄。問題應該就能得到解決了。
然后,我們再次打開控制面板管理工具服務,找到"Automatic Updates"(自動更新)服務,并將其恢復成自動啟動。重啟后,系統會認真地安裝補丁,不要取消安裝操作。完成系統自動更新后,這個問題應該不會再次出現。
什么是svchost.exe
svchost.exe是屬于微軟Windows操作系統的一個系統程序。微軟官方解釋是:Svchost.exe是從動態鏈接庫(DLL)中運行的服務的通用主機進程名稱。這個程序對系統的正常運行非常重要,而且不能被結束。
簡單來說,如果沒有這個服務,計算機幾乎無法上網。很多應用服務都依賴于這個接口RPC。如果發現svchost.exe占用太多CPU資源,造成svchost占用系統CPU 100%的原因并非svchost服務本身。以上情況是由于Windows Update服務下載/安裝失敗而導致更新服務反復重試所造成的。而Windows的自動更新也依賴于svchost服務的一個后臺應用,因此會出現svchost.exe負載極高的情況。
這類問題通常在網絡條件不穩定的機器上發生,比如家里父母的機器。一般在機器安裝了幾個月后,不定期出現,每個月的第二個星期是高發期(因為最近幾年微軟規律地在每個月的第二個星期發布補丁程序)。這是由于軟件過于智能導致的問題,svchost.exe的問題是應用遇到失敗/例外情況后自動重試所造成的。微軟本意是為了節省用戶時間,但重試頻率過高反而導致CPU被大量占用,從而導致電腦運行緩慢。