PSA: Windows 10 High CPU Usage

Windows 10 a nice upgrade and is loaded with more features than any previous release. These same features can also negatively impact your performance for days or more after your upgrade.

The Problem

Frankly put, baring any type of technical problem with chipsets or drivers, even a pristine Windows 10 installation is bound to be met with less-than-stellar performance due to constrained resources as several programs complete their first-run duties. Microsoft Program manager Gabe Aul collectively referred to these background jobs as deferred tasks, and they can take a significant amount of time to complete, during which they bottleneck your PC’s performance in several ways. If you were to open Task Manager about five minutes after your first login to Windows 10, here’s some of the top activity you would find:

Cortana Background Task Host, presumably scanning your lifetime of emails/calendar for flights/trips/suggestions and all that other “personal assistant” stuff we expect after first meeting such assistants in our phones

Microsoft Windows Search Indexer, scanning and indexing every property/author of, and every word inside all your files for instant-search capabilities

Windows Modules Installer, installing windows components updates

Antimalware Service Executable, which is scanning all the files on the disk for the first time antivirus/antimalware scan

OneDrive, which is either downloading and syncing files, or computing hashes of existing files to ensure they match the cloud copies

There are several constraints occurring here that will significantly impact even the highest grade hardware, and certainly all the popular majority of devices on the market. First, many of these are consuming data as quickly as that data can be downloaded. As more of your lifetime of emails and files flow in, they make a pit-stop under the control of many of these tasks. It doesn’t get to happen in parallel either–no one gets to touch the file until the antivirus system gives the thumbs-up, then it’s a free-for-all as every other process tries to reach those files. Even when given that the files may already be on the drive or that search indexers may not lock the file for exclusive access, the hard drive still has to deliver files up to all these processes, and it’s not the same file for each process. While Cortana is busy munching on an email, the search indexer is processing your documents and iTunes collection, while OneDrive is computing a unique hash for every picture in your library. It’s a significant amount of work, and this barely scratches the surface — there is also superfetch caches being built, app updates and more, all competing for disk access and CPU time against each other as your hard drive cache runs out from having to delivery every file on your drive to get processed multiple times. If you don’t have enough memory for all this activity at once (you don’t), your hard drive is also going to be busy swapping files to and from the virtual memory paging file. All of this is before you ever factor in user actual activity, if you can do anything at all.

What Changed?

It wasn’t always this way. Windows 7 had exactly 1 of those tasks to work on: the file search indexer. Remember that Windows 7 didn’t even come with much, no antivirus and not even an email program for that matter. In short, there was not much for it to do after first login. By the time the user installed something like an antivirus, any system-level work was already done, so performance felt great right from the start. While Windows 8 and 8.1 both showed the beginning signs of this, Windows 10 really highlights the issue to a greater degree.

Running Hot

On most hardware, you’ll also observe that your computer is running hot — literally. With the CPU burning up and the fan blowing at high-speed, it also brings battery life to near zip. This is the cause of very lengthy thread on the Surface Pro 3, where many users feel this heat when they first set one up and believe it to be defective. What was already a major pain point in Windows 8 and 8.1 is only exasperated by the additional tasks in Windows 10. On a mobile device like the Surface, these chores don’t even get ample time to finish in a session before the device is put to sleep, interrupting the work. So instead of a solid few hours of sluggishness, these guys see it every time they open the lid for a week or more, perhaps not finishing before they give up and return the device. Those that stick through it or know the cause are nearly universally pleased with their performance once complete.

What can you do?

My best suggestion is to leave a new device logged in, powered on overnight with the power set to “do not sleep when plugged in”, so that it can finish these tasks. When complete you’ll observe that the system is cool, quiet, and using less than 5% of it’s processor when idle even with hundreds of processes open.

After those are done building all their indexes, scanning, syncing (which can take a week when they are all trying to run at once), a clean PC should drop down to idle and be ready and snappy.

If you notice a process not finishing, such as indexing, you can verify in that particular control panel for the status. If indexing files remaining count doesn’t decrease, it might be stuck on an XML file, a common issue for iTunes users for example.

If your computer wasn’t fresh installed, or those processes aren’t the ones causing high CPU usage (and in turn, bad heat/noise/battery life), you can use my related article to Fix a Sluggish Slow PC to identify the cause.