I was using Windows 10 Home, version 1607 (OS build 14393.693).

The computer was a bit slow earlier today. Task Manager indicated that "Service Host: Local System" was making very heavy use of the hard drive bandwidth; it looked like the machine was probably disk-bound, not CPU-bound. Sysinternals Process Monitor indicated that this was probably because of some Windows Update activity.

I opened the Settings app and realized that this was correct. Windows Update was downloading: Cumulative Update for Windows 10 Version 1607 for x64-based Systems (KB4013429).

It said "Downloading updates 95%".

And it continued to say "Downloading updates 95%", for hours.

Was it stuck?

  • Process Monitor is good for troubleshooting errors from various API calls (did it look in the wrong directory and get file not found? access denied? sharing violation because another process had the file open? searched another directory first and found a file there, so it didn't even open the customized one?). But for statistics (similar to popular Linux tools iostat or vmstat), the "Resource and Performance Monitor" tool (perfmon.exe), which can be reached from a button in Task Manager "Performance" tab, is a lot more useful. sysInternals' Process Explorer also has helpful stats. – Ben Voigt Mar 15 '17 at 19:18
  • @BenVoigt: I wasn't using Process Monitor to collect statistics. I used Task Manager to collect statistics. I discovered that the machine was probably disk-bound, and that "Service Host: Local System" was the culprit. Then I used Process Monitor to look at the service host and see which of the many services was accessing the disk. Did I do it wrong? – unforgettableid Mar 15 '17 at 19:25
  • Not wrong, it's just more useful to look at Resource Monitor. In Process Monitor if you have more than one process making a lot of file accesses, it's really hard to tell which one has more or by how much. With Resource Monitor it's easy. – Ben Voigt Mar 15 '17 at 19:29

The three types of Windows Update logs

Windows Update has the capability to be exceedingly windy and verbose. Even if it only downloads one small update, it can still generate three types of logs telling you what happened.

These three types of logs are:

  • The text file which the PowerShell Get-WindowsUpdateLog cmdlet saves to your desktop.

    • This is a static file; to update it, you must run the cmdlet again.
  • Event Viewer > Applications and Services Logs > Microsoft > Windows > WindowsUpdateClient > Analytic.

    • This is an analytic log, so you must unhide and enable it, then must wait quite a while for it to start filling up with the first few items.
  • Event Viewer > Applications and Services Logs > Microsoft > Windows > WindowsUpdateClient > Operational.

    • This log is visible by default.

What I found

I looked at the first of these three logs, then in a recently-created subfolder of C:\WINDOWS\SoftwareDistribution\Download. I soon realized that Windows Update was indeed still downloading updates, even though the progress indicator appeared stuck at 95%.

The end of the story

Eventually (maybe after several hours), Windows Update finished its downloading. It announced that the updates were ready to install.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.