Skip to main content
To fix high CPU usage on Windows Server, first find the process: open Task Manager > Details and sort by CPU, or run Get-Counter "\Process(*)\% Processor Time" in PowerShell. Then act on that process: let Windows Update or a Defender scan finish, split a busy svchost.exe to find the service, or fix or limit your own application. Microsoft treats CPU that stays at 80 percent or more for long periods as a problem.

Before you start

How to find what is using the CPU

Press Ctrl+Shift+Esc (in RDP: right-click the taskbar and choose Task Manager). If you only see a short list, click More details. Open Details and click the CPU column header until the arrow points down. The top entries use the most CPU. Add the PID column if you need it later.

Cause 1: Windows Update or servicing is running

Check: the top processes are TiWorker.exe (Windows Modules Installer Worker) or TrustedInstaller.exe, often right after Patch Tuesday or a restart. Fix: let it finish and restart if asked. If it runs for hours or fails repeatedly, see Windows Update stuck or failing.

Cause 2: a Microsoft Defender scan

Check: Antimalware Service Executable (MsMpEng.exe) is at the top. Fix: let the scan finish. To reduce the impact, limit the average CPU a scan may use (the default is 50 percent) and schedule scans for a quiet time:
More options are in use Microsoft Defender on Windows Server.
Don’t disable real-time protection to save CPU. Exclude only specific trusted folders, such as a game server’s data folder, if the vendor recommends it.

Cause 3: your own application or game server

Check: the top process is your software: sqlservr.exe, w3wp.exe (IIS), java.exe or a game server executable. Fix: check its own logs and settings first (player count, plugins, queries, worker processes). If the load is normal for what it does, the server needs more CPU. On IIS, several w3wp.exe processes are one per application pool.

Cause 4: a busy svchost.exe

svchost.exe hosts several Windows services in one process, so Task Manager doesn’t show which service is busy. Check: note the PID of the busy svchost.exe, then list its services:
Fix: if one service is suspected, Microsoft’s method is to move it into its own process, restart it and watch again:
Restart the service (or the server), check tasklist /svc again, and undo the change afterwards with sc config wuauserv type= share. Replace wuauserv with the service you are testing.

Cause 5: WMI Provider Host

Check: WmiPrvSE.exe is at the top. It runs queries for other programs, usually monitoring agents or scripts. Fix: stop or uninstall recently added monitoring tools or scheduled scripts one at a time and watch the CPU. Microsoft’s WMI high CPU guide shows how to trace the calling process.

Cause 6: something you didn’t install

Check: an unknown process with a random name, or one running from C:\Users\...\AppData or C:\Windows\Temp. Right-click it in Task Manager and choose Open file location. Fix: treat it as a possible compromise. Run a full scan with Microsoft Defender, check failed login attempts, change the Administrator password and work through the Windows Server security checklist.

How to check it worked

Run the Get-Counter command again. Microsoft’s Performance Monitor guidance treats 0 to 50 percent as healthy, 50 to 80 percent as worth watching and 80 to 100 percent as critical.

Frequently asked questions

Is short 100% CPU a problem?

No. Short spikes are normal. Investigate when CPU stays above 80 percent for minutes at a time.

Why is “System” or “System interrupts” high?

High interrupt time usually points to a driver or hardware problem. Install the latest Windows updates and drivers. On a dedicated server, open a ticket if it continues.

Can I keep a record of CPU usage?

Yes. See monitor Windows Server performance for Performance Monitor logs.

VPS and dedicated server guides

Every guide in this section.

Windows Server running slow

Check memory and disk too.

Monitor performance

Task Manager and Performance Monitor.

Microsoft Defender

Scans, schedules and exclusions.

Event Viewer

Find errors behind the load.

Checked against Microsoft Learn: Troubleshooting high CPU usage, Troubleshoot issues using Performance Monitor, Get-Counter and Set-MpPreference on 4 November 2026. Commands were not tested on a live Windows server for this page.

Need Extra Help?

If you encounter any issues, our support team is ready to assist:

Save on Your Hosting

Ready to upgrade your hosting? Use code KB20 at checkout for 20% off your first order!

Last Updated: November 2026