Analyze Service Host high CPU usage
High CPU usage of a process on Windows can slow down other operations to snail like pace. While that is sometimes caused by user run programs, say a taxing computer game or video rendering program, it may sometimes be caused by Windows processes such as Service Host.
Service Host is a svchost.exe process; Recent versions of Microsoft's Windows 10 operating system separate services that are run by it while older versions of Windows lumped them together which made identification more complicated.
Programs like Svchost Process Analyzer or Svchost Viewer were created to assist users and system administrators in finding out which service was run under which svchost process on the Windows machine.
You may see 20 or more Service Host processes listed on Windows 10 machines as a consequence.
Analyze Service Host high CPU usage
The first thing that you need to do is find out which Service Host process is responsible for that. Once you have the process, you know the Windows Service that is causing it, and from there you may do something about it depending on the service in question.
First the basics:
- Use Ctrl-Shift-Esc to open the Task Manager.
- You should see all processes listed there right away.
- Click on the CPU column to sort by CPU utilization. The process that uses the most CPU should now be shown at the top.
- Click on it to display additional information about it. A click on Service Host: Local Service for instance may reveal the Function Discover Provider Host service.
The next step depends largely on the service in question. While you can run a search on the Internet to find out more about it, you may also open the Services Manager first to read its description and find out how it is started and what it does.
To start the Services Manager, tap on the Windows-key, type services.msc, and hit the Enter-key.
Locate the service -- it has the same name as the entry that opened in the Task Manager when you clicked on the Service Host entry there; you find its status -- running usually -- as well as the startup type and a description more often than not.
Sometimes it is also possible to link high CPU usage to activity. Say, Windows Update runs at the time and found updates. You may then see Service Host: Local System -- Delivery Optimization using a lot of CPU while the updates are processed.
What you can do to resolve the Service Host issue
Here are a few suggestions on how to deal with high CPU usage of Service Host tasks:
Set the process priority to a lower value
First thing you need to do get the right svchost.exe entry as you cannot do so under processes on Windows 10.
- Right-click on the Service Host entry under Processes in the Windows Task Manager, and select go to details.
- This switches to the details tab and highlights the right svchost.exe process.
- Right-click on the process, and select Set Priority > Below Normal.
Disable the Service
Please note that this is not an option for critical Services that Windows requires.
Tip: Check the services configuration pages for Windows 10, Windows 8.1 and Windows 7 on the Black Viper website to find out if you can disable a Service.
- Identify the name of the Service on the Processes page.
- Open the Windows Services Manager and locate it.
- Double-click on the service.
- Set its Startup type to "manual" or "disabled". Manual loads it on demand, disabled turns it off completely.
Make sure your PC is up to date
Sometimes, it is a bug or issue that is causing this that is part of Windows. Microsoft may have fixed the issue in an update, and it is often a good idea to check for updates to find out if that is the case.
- Tap on the Windows-key, type Windows Update, and select the item from the list of search results.
- Select "check for updates" or "download", and wait until the process completes.
Make sure your PC is virus-free
It is not uncommon that malware may cause high CPU usage on Windows machines. It is recommended to run scans for malware using one or two second opinion scanners.
You can use Malwarebytes Anti-Malware, Trend Micro's Anti-Threat Toolkit, Bitdefender Home Scanner, or CrowdInspect.
Make sure file corruption is not the issue
File corruption can cause all sorts of issues including high CPU usage but also freezes or crashes. Windows ships with tools that you may run to make sure files are not corrupt.
Here is how that is done:
- Tap on the Windows-key, type cmd.exe, hold down the Shift-key and the Ctrl-key, and hit the Enter-key. This loads an elevated command prompt.
- Accept the UAC prompt.
- Run the command sfc /scannow.
- The command checks for file corruption and attempts to fix any issues that it finds during the scan and processing.
Some specific cases
Here are some specific cases and solutions:
- Service Host: Local Service (Network Restricted) causing high CPU usage -- Try disabling the Superfetch service.
- You can check if Windows Update is transferring files right now by opening an elevated PowerShell prompt and running the command Get-BitsTransfer -AllUsers.
- To reduce the impact of Windows Update, make sure you don't download or send data to other PCs. Open Settings > Update & Security > Windows Update > Advanced Options > Choose how updates are delivered.
Why would you recommend programs other then the Sysinternals for investigating running processes?
PS The read also link on this page “nvidia-releases-geforce-hotfix-driver-378-72” is out of date. Nvidia actually released the 388.10 hotfix 3 days ago for Wolfenstein 2.
I’m guessing it’s because Sysinternals is not for sissies or the uninitiated – the corrections and adjustments are done at system level, so mistakes can be fatal.
Gotcha. TY for the reply.
Don’t use nVIDIA drivers. They are snooping big time on us poor consumers :(
…they know what websites you go to, they know what things you render; so give that porn a break and start using only pure simple Windows drivers via Update panel. :)
What a load of old codswallop! Windows drivers are next to useless. If you’re concerned about nVidia snooping all you need do is disable telemetry as per Martin’s instructions: https://www.ghacks.net/2016/11/07/nvidia-telemetry-tracking/
Nice walkthrough Martin :)
@ Dave, IIRC System Internals was bought over by microsoft around 10 years ago (Mark Russinovich was doing an exceptional 3rd party job then and still is now albeit under the wing of MS). But, I’ve found that autoruns and process explorer have been neutered in order for MS to keep tinkerers and tweakers from disabling their subversive code in order to data gather/ snoop since the introduction of the ‘admin rights’ to each respective program in W7/8 and 10.
As an alternative for process explorer, I shifted to Process Hacker a while back which suits my needs (when the tinfoil hat is on). Have still to try more from Nirsoft as they seem to have a large variation of small monitoring/ tweaking programs which are excellent.
Try System Explorer 18.104.22.16856:
I use it on my 3 computers.
Robert G., Is there ay specific reason that you are not referring to the newer system explorer version 22.214.171.12459?
Too bad that the system explorer development has come to a complete standstill sins 2016-04-30.
It works fine with Windows 10 Pro 64-bit v1709 OS Build: 16299.19.
Here’s an example from one of my computers:
That is the reason I love using Bitsum’s process lasso (https://bitsum.com/) it keeps processes from hogging all the system resources (CPU, etc)
Nice that Process Lasso works for you. I’ve tried it four different times. All it ever did on either of my computers is use up a little more CPU.
I’m getting svchost.exe taking 100% cpu usage after enabling the pos2009 hack on an xp machine of mine. Not getting any updates, not even manually, only 100% cpu load 24/7 for days until I give up. Frustrating. On win10 again there’s another process, tiworker.exe that’s messing with the cpu usage all the time and making my laptop fans spin up on various occasions.