It is well known that Windows Modules Installer Worker (windows update) does not really care about resource efficiency, and just takes whatever cpu %, ram and disk usage it wants. I suppose I already got used to that.

Using Intel Core I7-10510U cpu (and 16GB ram), it takes 25%-26% on average:

resources usage

But I was surprised to discover that it only uses one cpu core and exhausts it to the max, causing a heat spike that affect other cores, and overall prevents an efficient cpu usage:

cpu usage

Why is it doing so? Is there a way to force it use other cores or just take less cpu?

My main concern is all the heat it generates, and the long time it takes while maxing out a whole cpu core!


It's not unusual for a single-threaded task to completely eat up one core. It's an intelligent decision. It saves having to supervise & intelligently throttle its activity, stops it running rampant & eating your whole CPU & it saves the scheduler from having to find it some room to get its elbows out.

The heat discrepancy between cores used this way should be insignificant. I've run single-core apps for years with no heat issues - & certainly no 'handing it over & making other cores look hot'. If it's actually doing that, perhaps investigate cooling & what other processes may be running.

Your posted image would seem to show no real issues - you have 2 cores at 84, the rest in the low 60s. If that's a 4-core, 8 with HT, then one physical core will display temps for both virtual cores, as they're physically one.

I just checked - it is a 4-core - https://ark.intel.com/content/www/us/en/ark/products/196449/intel-core-i7-10510u-processor-8m-cache-up-to-4-90-ghz.html

  • 2
    Good answer. I just miss one detail. It is far easier to make a single treated program than a multi-treated program. So unless you really want and need a multi-treated program, developers often don't even go with the trouble. In some cases, spreading a load between multiple treats is really difficult. In the case of windows installer, if it just installs one update but it is a big update, it is very difficult to create multiple programs each consuming a core to effectively install the windows update. This would also mean that the installation of updates must be regulated far more than it does.
    – LPChip
    Oct 14 '20 at 19:03
  • Thank you for your detailed answer, and @LPChip for your additional comment. Today's update did take longer than usual. I didn't want to stop it since it was at 60% when I found out, yet I really needed to start working and use my VMs.. Is there a way to limit the cpu usage / priority of that process? It just amazes me that after all those years windows 10 update service is still such an issue in many aspects.
    – Pizza
    Oct 14 '20 at 20:56

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.