80

I've observed a strange behaviour with Windows Update (Win7 SP1). The process svchost is consuming an entire core of my Virtual Machine (VirtualBox) doing nothing (i.e., there is no network traffic and the folder C:\Windows\SoftwareDistribution remains at the same size with the same number of files). Moreover, the process sometimes consumes a large quantity of memory (> 1 GB). I've also noted that sometimes the folder SoftwareDistribution increases in size during a period of time, and after that nothing happens and svchost continues to consume an entire core.

I know that the problem is with Windows Update, since I've tracked (using Resource Monitor) what service is related with the behaviour related above.

The image below shows what I'm facing:

enter image description here

The next image shows a detailed information about svchost:

enter image description here

If I try to perform the update, nothing happens. The Windows Update doesn't progress. See the image below:

enter image description here

I left this machine trying to do the update for 4 hours. During this time the consumption of CPU remained high (as related above) and no update was installed.

My question is the following:

What is the reason why Windows Update doesn't work and still consumes an entire core of my processor doing nothing?

Related Question(s):

svchost.exe high memory usage - wuauserv

3
  • Using WSUS Offline, it’s also (mostly) possible to work around this issue.
    – Daniel B
    Commented Nov 6, 2015 at 20:43
  • 2
    I can't add an answer cause site thinks I have <10 reputation, here's what worked for me on my Windows 7 VM. This is probably specific to VM's. 1) Increase cores from 1 to something higher. 2) Run the 3102810 update in the top answer below. 3) Run Windows Update. Might need some PC restarts inbetween. Basically Windows Update does not work well on 1 core.
    – Eugene K
    Commented Jan 8, 2016 at 21:50
  • Bunch of computers in my work network have one core consumed by Windows Updates all the time, but users don't even notice this. Microsoft should connect all those computers into distributed computing system and get hundreds petaFLOPS of free computing power.
    – Andrei
    Commented Oct 20, 2016 at 12:59

4 Answers 4

83

Fix

Microsoft released a Windows Update Client Update which is part of the July 2016 Update Rollup to fix the long hang at Windows Update scan.

This update contains some improvements to Windows Update Client in Windows 7 Service Pack 1 (SP1). This includes the following:

  • An optimization that addresses long scan time for updates that's reported on some computers.
  1. Download:

  2. Stop Windows Update service. This speeds up the setup of MSU updates. This can be done from the command line, or from the service manager window.

  3. Try the downloaded update and see if it speeds up the installation of Updates.

To be able to install the update you first need to install the April 2015 servicing stack update for Windows 7 and Windows Server 2008 R2 update (again, stop WU service before trying to install the MSU).

Download (April 2015 servicing stack update):

32 Bit

64 Bit

Workaround 1

If this is still not helping to search for new updates, use WSUSOffline to get all the updates.

23
  • 7
    Nope, that does not work. Installed the update on a Win7 64 bit, wuauserv still spinning uselessly at 100% CPU, doing abslutely nothing as per the Event Log and WindowUpdate.log, for extended periods of time. *sigh*
    – Tomalak
    Commented Nov 13, 2015 at 8:42
  • This fixed the problem for me. Note: If you have a single core CPU nothing will save you, no fix will help. For such an old hardware just disable Windows Update service, you cannot work with a system that is busy all the time, taking the risk of being outdated is inevitable in such situations. Fast computers also have the problem but It goes unnoticed because the computer can handle It. In a dual core Celeron (LGA 775) this worked. Commented Dec 15, 2015 at 22:58
  • 1
    This answer worked for me! My VM had two cores available, but even increasing it to 6 did not help at all. Installing this update is tricky though, as it doesn't work well when Windows Update is already doing something in the background. Restarting the Windows Update service and then immediately installing this update worked great!
    – jlh
    Commented Jan 29, 2016 at 14:44
  • 1
    @jlh you can simple stop WU service via services.msc before installing a MSU update. This speeds up installation a lot. Commented Jan 29, 2016 at 16:40
  • 1
    The linked KB mentions specific problems that it fixes (upgrade to Win10 and updates using SCCM) but not the one that was asked for here. Commented Feb 3, 2016 at 15:02
8

After one day trying to solve this problem I've created other Virtual Machine to check if the problem could happen again.

Unfortunately, the problem happened again! After that I've talked about this issue with a friend and he suggested me to disable IPv6 of my Windows network interface. I did it and two behaviours were observed:

  1. On the new virtual machine when I disabled the IPv6 the consume of CPU dropped almost instantly and the Windows Updated worked as expected.

  2. On the other virtual machine the consume of CPU hasn't dropped after disabling IPv6. After observing that I restarted the Windows and the consume of CPU remained high. However, after 30 minutes (about), the consume of CPU dropped and everything worked as expected.

Both Windows were successfully updated after disabling IPv6.

It's important to note that I can reproduce this behaviour. I have copies of my Virtual Machine before disabling IPv6.

7
  • Just as a follow up - does this fix still appear to be working? A colleague of mine was experiencing the same issue (100% CPU during updates on 2008R2) and tried disabling IPv6. He restarted after making the change and then two hours later, his CPU spiked again. Commented Jul 30, 2015 at 13:00
  • 1
    Hello @RionWilliams, In my case for both virtual machines (Windows 7 Professional) this solution worked as described. However, there are other solutions, see here please: superuser.com/questions/821032/…
    – cantoni
    Commented Jul 30, 2015 at 13:27
  • Hi again cantoni. We attempted both the IPv6 fix and several of those mentioned in the post you provided to no avail. We have noticed however that this appears to only be an issue with VMs that are running a single processor (as if you use two, CPU usage tops out at 50%) and it only targets machines with some flavor of SQL Server installed. I'm still investigating, but those are the things I have narrowed it down to thus far. Commented Jul 30, 2015 at 19:40
  • Disabling IPv6 didn't help.
    – Paul
    Commented Nov 4, 2015 at 23:27
  • 3
    We were running WS2012R2 servers under ESXi and Windows Updates were consuming 100% of a core indefinitely. Disabling IPv6 in the adapter's properties worked for us. One of the problems that may be affecting other people is the type of virtual NIC involved: ESXi wants to use the Intel PRO/1000s by default, which causes a bunch of problems, but VMware documentation recommends that you use the VMXNET 3 adapters for WS2012 or later. This requires you to download the VMXNET3 drivers from packages.vmware.com/tools/releases/latest/windows/index.html Commented Feb 10, 2016 at 23:51
5

Something else that may help is the Windows Update Troubleshooter - it's a standalone application that can diagnose problems with Windows Update and the Background Intelligent Transfer Service (BITS).

2
  • Excellent tool!! Had to run TWICE though -- First time, it fixed a bunch of things, except: "service registration is missing or corrupt". But, ran it again in W-7, and that was also fixed!
    – DaaBoss
    Commented Nov 15, 2016 at 21:21
  • Unfortunately for me, the troubleshooting tool also spins forever. It gets stuck on "Resolving problems", and according to Task Manager, svchost is saturating one of my cores again.
    – AshleyZ
    Commented Dec 24, 2016 at 4:56
1

What fixed it for me was KB2889748

High memory usage by the Svchost.exe process after you install Windows Management Framework 3.0 on a Windows-based computer

Not the answer you're looking for? Browse other questions tagged .