Skip to main content

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

svchost service host

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:

  1. Use Ctrl-Shift-Esc to open the Task Manager.
  2. You should see all processes listed there right away.
  3. Click on the CPU column to sort by CPU utilization. The process that uses the most CPU should now be shown at the top.
  4. 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.

services description

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

lower process priority

First thing you need to do get the right svchost.exe entry as you cannot do so under processes on Windows 10.

  1. Right-click on the Service Host entry under Processes in the Windows Task Manager, and select go to details.
  2. This switches to the details tab and highlights the right svchost.exe process.
  3. Right-click on the process, and select Set Priority > Below Normal.

Disable the Service

disable superfetch

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.

  1. Identify the name of the Service on the Processes page.
  2. Open the Windows Services Manager and locate it.
  3. Double-click on the service.
  4. 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

windows update

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.

  1. Tap on the Windows-key, type Windows Update, and select the item from the list of search results.
  2. 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

sfc scannow repair

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:

  1. 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.
  2. Accept the UAC prompt.
  3. Run the command sfc /scannow.
  4. 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.

 

This article was first seen on ComTek's "TekBits" Technology News

HOME