題 Windows Update不起作用並消耗100%的CPU(Win7 SP1)[重複]


這個問題在這裡已有答案:

我發現Windows Update(Win7 SP1)有一種奇怪的行為。進程svchost消耗我的虛擬機(VirtualBox)的整個核心什麼都不做(即,沒有網絡流量和文件夾 C:\Windows\SoftwareDistribution 使用相同數量的文件保持相同的大小)。此外,該過程有時會消耗大量內存(> 1 GB)。我還注意到有時文件夾 SoftwareDistribution 在一段時間內增加大小,之後沒有任何事情發生,svchost繼續消耗整個核心。

我知道問題出在Windows Update上,因為我已經跟踪(使用資源監視器)哪些服務與上面相關的行為有關。

下圖顯示了我面臨的問題:

enter image description here

下圖顯示了有關svchost的詳細信息:

enter image description here

如果我嘗試執行更新,則沒有任何反應。 Windows Update無法進行。見下圖:

enter image description here

我離開這台機器試圖進行4小時的更新。在此期間,CPU的消耗仍然很高(如上所述)並且未安裝更新。

我的問題如下:

Windows Update無法工作的原因是什麼,仍然消耗我的處理器的整個核心什麼都不做?

相關問題:

svchost.exe高內存使用率 - wuauserv


77
2017-07-24 00:30


起源


運用 WSUS離線,(大多數情況下)也可以解決這個問題。 - Daniel B
我無法添加答案因為網站認為我的信譽<10,這就是我在Windows 7 VM上的功能。這可能是VM特有的。 1)將核心從1增加到更高。 2)在下面的頂部答案中運行3102810更新。 3)運行Windows Update。中間可能需要重啟一些PC。基本上Windows Update在1核上運行不佳。 - Eugene K
我的工作網絡中的一堆計算機一直有Windows核心消耗的核心,但用戶甚至都沒有註意到這一點。微軟應該將所有這些計算機連接到分佈式計算系統,並獲得數百petaFLOPS的免費計算能力。 - Andrei


答案:


固定

微軟發布了一個 Windows Update客戶端更新 這是其中的一部分 2016年7月更新匯總 解決這個問題 掛起在Windows Update掃描

此更新包含對Windows Update Client的一些改進   Windows 7 Service Pack 1(SP1)。這包括以下內容:

  • 一種優化,可解決某些計算機上報告的更新的長掃描時間問題。
  1. 下載:

  2. 停止Windows Update服務。這個 加快MSU更新的設置。這可以做到 從命令行, 要么 從服務管理器窗口

  3. 嘗試下載的更新,看看它是否加快了更新的安裝。

為了能夠安裝更新,首先需要安裝 2015年4月為Windows 7和Windows Server 2008 R2提供堆棧更新服務 更新(再次,在嘗試安裝MSU之前停止WU服務)。

下載(2015年4月服務堆棧更新): 

32位

64位

解決方法1

如果仍然無法搜索新的更新,請使用 WSUSOffline 獲取所有更新。


82
2017-11-06 19:08



不,那不行。在Win7 64位上安裝了更新, WUAUSERV 仍然在100%CPU上無用地旋轉,根據事件日誌和WindowUpdate.log,在很長一段時間內絕對不做任何事情。 *嘆* - Tomalak
這解決了我的問題。注意:如果你有一個核心CPU沒有什麼可以節省你,沒有任何修復將有所幫助。對於這樣的舊硬件只是禁用Windows Update服務,您無法一直處於忙碌的系統,在這種情況下冒險過時是不可避免的。快速的計算機也有問題,但它沒有被注意,因為計算機可以處理它。在雙核Celeron(LGA 775)中,這起作用。 - Hatoru Hansou
這個答案對我有用!我的VM有兩個核心可用,但即使將它增加到6也沒有任何幫助。但是,安裝此更新很棘手,因為當Windows Update已經在後台執行某些操作時,它無法正常工作。重新啟動Windows Update服務,然後立即安裝此更新非常有用! - jlh
@jlh您可以在安裝MSU更新之前通過services.msc簡單地停止WU服務。這大大加快了安裝速度。 - magicandre1981
鏈接的KB提到了它修復的特定問題(使用SCCM升級到Win10和更新),但沒有提到這裡要求的問題。 - Matthias Weiler


在嘗試解決此問題一天后,我創建了其他虛擬機以檢查問題是否可能再次發生。

不幸的是,問題又發生了!之後我和朋友談了這個問題,他建議我禁用我的Windows網絡接口的IPv6。我做到了,觀察到兩種行為:

  1. 在我禁用IPv6的新虛擬機上,CPU的消耗幾乎立即下降,Windows更新按預期工作。

  2. 在另一台虛擬機上,禁用IPv6後CPU的消耗量沒有下降。在觀察到我重新啟動Windows並且CPU消耗仍然很高之後。但是,在30分鐘(大約)之後,CPU的消耗量下降,一切都按預期工作。

禁用IPv6後,兩個Windows都已成功更新。

重要的是要注意我可以重現這種行為。在禁用IPv6之前,我有我的虛擬機的副本。


8
2017-07-24 00:30



就像後續行動一樣 - 這個解決方案似乎仍然有效嗎?我的一位同事遇到了同樣的問題(在2008R2更新期間100%的CPU)並嘗試禁用IPv6。他做出改變後重新啟動,然後兩個小時後,他的CPU再次飆升。 - Rion Williams
您好@RionWilliams,在我的情況下,對於這兩個虛擬機(Windows 7 Professional),此解決方案的工作方式如上所述。但是,還有其他解決方案,請看這裡: superuser.com/questions/821032/... - cantoni
嗨再次cantoni。我們嘗試了IPv6修復程序以及您提供的帖子中提到的幾個修復程序無濟於事。但是我們注意到,這似乎只是運行單個處理器的VM的問題(就好像你使用兩個,CPU使用率最高為50%)而且它只針對安裝了某種SQL Server風格的機器。我還在調查,但到目前為止,這些是我已經縮小的範圍。 - Rion Williams
禁用IPv6沒有幫助。 - Paul
我們在ESXi下運行WS2012R2服務器,Windows更新無限期地消耗了100%的核心。在適配器屬性中禁用IPv6對我們有用。可能影響其他人的問題之一是所涉及的虛擬NIC類型:ESXi默認使用Intel PRO / 1000s,這會導致一系列問題,但VMware文檔建議您使用VMXNET 3適配器來實現WS2012或以後。這需要您從中下載VMXNET3驅動程序 packages.vmware.com/tools/releases/latest/windows/index.html - AlwaysLearning


其他可能有幫助的是 Windows Update疑難解答  - 它是一個獨立的應用程序,可以診斷Windows Update和後台智能傳輸服務(BITS)的問題。


5
2018-04-13 20:34



優秀的工具!!不得不運行TWICE - 第一次,它修復了一堆東西,除了:“服務註冊丟失或損壞”。但是,在W-7再次運行它,這也是固定的! - DaaBoss
不幸的是,故障排除工具也永遠旋轉。它被困在“解決問題”,根據任務管理器,svchost再次使我的一個核心飽和。 - AshleyZ


為我修復的是 KB2889748

在基於Windows的計算機上安裝Windows Management Framework 3.0後,Svchost.exe進程的內存使用率很高


1
2018-03-21 20:07