Guidance for troubleshooting high CPU usage - Windows Server (2024)

  • Article

This article helps you identify the cause of sustained high CPU usage. Keep in mind that you can expect CPU usage to increase as a process or an application serves requests. However, if you consistently see CPU usage remain at a high level (80 percent or greater) for prolonged periods, the performance of your system or application will suffer. For that reason, it's important to understand the cause of sustained high CPU usage to be able to correct the problem, if possible.

Task Manager

Use Task Manager to view CPU consumption to help identify the process or application that's causing high CPU usage:

  1. Select Start, enter task, and then select Task Manager in the search results.
  2. The Task Manager window defaults to the Processes tab. If you see a single list of process names in the Name column, you can expand any instances of grouped processes.
  3. Select the CPU column header to sort the list by CPU usage. Make sure that the arrow that appears on the header points down to sort the data from highest to lowest CPU consumption.

If the process can be stopped, or a related service can be disabled, stop the process or the service. Then, check whether this mitigates the problem.

Resource Monitor

Use the Resource Monitor to view CPU consumption:

  1. Select Start, enter resmon, and then select Resource Monitor from the search results.

  2. In the Resource Monitor window, select the CPU tab.

    Note

    You might have to maximize the window to see all the data.

  3. Select the Average CPU column header to sort the list by overall CPU usage. Make sure that the arrow that appears on the header points down to sort the data from highest to lowest CPU consumption.

If any of the processes show a higher-than-expected rate of consumption for your environment, consider these top processes first when you try to determine the cause of the problem.

Process Explorer

The Process Explorer tool gives you a complete overview on which processes are currently running on your computer, including details about who invoked the processes, and how much of the total system resources they're consuming.

If you want to verify an operating system-related process (for example, System), follow these steps:

  1. Run Process Explorer as an administrator.
  2. Right-click the process, select Properties, and then select the Threads tab.
  3. Select the thread that consumes high CPU, and then select Stack to view the functions that are being run.

Note

To get a better stack information result, configure symbols in the Process Explorer. To do this, follow these steps:

  1. Install Debugging Tools for Windows.
  2. Run Process Explorer as an administrator.
  3. Select the Options menu, and then select Configure Symbols.
  4. Change the Dbghelp.dll path to C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\dbghelp.dll, and then select OK.

Common troubleshooting scenarios

This section introduces the scenarios of different processes that use high CPU usage.

Uniquely named singular Microsoft process

  1. Collect a performance monitor log. Use a 1-second to 5-second snapshot interval.
  2. Collect a Windows Performance Recorder (WPR) log while high CPU usage is occurring.

    Note

    Don't let this log run for a long time because the file grows very quickly. You should have to run the log only for a few minutes (three to five) to capture the high CPU usage.

  3. Run the ProcDump tool two times during reported high CPU usage. Space apart the runs by several minutes.

Svchost process

If a svchost process consumes high CPU usage, and the svchost process contains more than one service, you need to break each service out to run in its own svchost process to determine which service is causing the high CPU usage. To do so, follow these steps:

  1. Open an elevated Command Prompt window.

  2. Break out each service into its own svchost process if it's a shared svchost process. To do this, run the following command:

    sc config <service name> type= own

    Note

    In this command, replace <service name> with the actual service name.

  3. Restart the service

  4. At the command prompt, run tasklist /svc to verify that the service is running in its own svchost process.

    Important

    After the problem is resolved, you must return to step 2 and revert what you did.

    To do this, replace sc config <service name> type= own with sc config <service name> type= share in the command. Then, restart the service.

  5. After you break each service out into its own svchost process, you now have to identify which service was driving up CPU usage or consuming high CPU usage.

  6. Collect a performance monitor log. Use a 1-second to 5-second snapshot interval.

  7. Record the PID of the offending Svchost process.

  8. Collect a WPR log while the problem is occurring.

  9. Run ProcDump two times during reported high CPU usage. Space apart the runs by several minutes.

Multiple process instances that have the same name

Several instances of a process could share the same name. For example, this problem could occur with the explorer.exe processes on a Remote Desktop Protocol (RDP) server.

To troubleshoot this problem, follow these steps:

  1. Collect a performance monitor log. Use a 1-second to 5-second snapshot interval.

  2. Collect a WPR log while the problem is occurring.

  3. Run ProcDump two times during reported high CPU usage. Space apart the runs by several minutes.

  4. Record the PID of the offending process by running the following command:

    tasklist /v /fo csv >Running_Process.txt

Third-party application process

If a third-process is identified as the cause of the problem, you must contact the application vendor to understand why the respective process is causing high CPU usage on the computer.

Data collection

Before the problem occurs

You can use Debug Diagnostic 2.0 version to further troubleshoot this problem. To use the tool, follow these steps.

  1. Install the Debug Diagnostic Tool v2 Update 2.

    Important

    Uninstall all other versions of Debug Diagnostic tool before you install the 2.0 version.

  2. Select Start, enter performance monitor, and then right-click Performance Monitor to run it as an administrator.

  3. Use Performance Monitor to collect the performance counter log and start the logging.

When the problem occurs

  1. Open the DebugDiag 2 Collection.
  2. Select the Processes tab, right-click the worker process that corresponds to the appropriate application pool, and then select Create Full Userdump.
  3. Repeat step 2 three times while the CPU usage is high.
  4. Stop the Performance Monitor logging.
  5. Compress the data by using DebugDiag. To do this, Select Tools > Create Increment Cabinet File.

We recommend that you keep the information that you've gathered handy in case you have to contact Microsoft Support.

Guidance for troubleshooting high CPU usage - Windows Server (2024)

FAQs

How to troubleshoot high CPU usage in Windows Server? ›

Common troubleshooting scenarios
  1. Collect a performance monitor log. Use a 1-second to 5-second snapshot interval.
  2. Collect a Windows Performance Recorder (WPR) log while high CPU usage is occurring. Note. ...
  3. Run the ProcDump tool two times during reported high CPU usage. Space apart the runs by several minutes.
Dec 26, 2023

How to troubleshoot a high CPU? ›

This can happen for several different reasons, which is why it's important to learn how to fix high CPU usage in Windows 11.
  1. Reboot Your PC. Before trying anything else, try restarting your PC. ...
  2. End or Restart Processes. ...
  3. Update Drivers. ...
  4. Scan for Malware. ...
  5. Power Options. ...
  6. Find Specific Guidance Online. ...
  7. Reinstalling Windows.

How to check history of CPU utilization in Windows Server? ›

Use the Resource Monitor to view CPU consumption
  1. Press WIN + R on the keyboard to open the Run dialogue. Type resmon in the text box and press Enter to open. ...
  2. Click the CPU tab. Note: You might need to maximize the window to see all the data.
  3. Click the Average CPU column header to sort by overall CPU usage.

What causes high CPU utilization in application server? ›

High application server CPU or memory utilization is typically caused by a running batch job that is resource intensive, excessive garbage collection, or a looping thread.

How to fix Windows high CPU usage? ›

Here are 10 ways to fix high CPU usage:
  1. Identify the process that's causing 100% CPU usage. ...
  2. Close unnecessary applications or put them sleep. ...
  3. Check your PC for malware. ...
  4. Check for outdated drivers and software. ...
  5. Reset power settings. ...
  6. Turn Windows notifications off. ...
  7. Disable P2P sharing. ...
  8. Disable Cortana in the Registry Editor.
Dec 18, 2023

How to reduce CPU usage on server? ›

How to lower CPU usage
  1. Restart Your Computer. ...
  2. Manually Closing Background Programs. ...
  3. Update Drivers And BIOS. ...
  4. Check for Malware, Viruses, Crypto Miners, and Other Stowaways. ...
  5. Changing Windows 10 Settings. ...
  6. Reinstalling Windows. ...
  7. Overclocking the CPU. ...
  8. Install a New CPU.

How do you analyze high CPU usage? ›

Commands like uptime or top provide the value of CPU load averages—i.e., the average number of threads actively using or requesting to use CPU over the last 1, 5, and 15-minute periods. High load averages indicate an overloaded CPU with too many processes.

How to check CPU usage without Task Manager? ›

Using the Command Prompt: Open the Command Prompt (Start menu > type “cmd” and select it) and type “wmic cpu get loadpercentage” and press Enter. This will show the current CPU usage percentage.

What is the tool to check CPU utilization? ›

OpManager is a CPU usage monitoring software that enables CPU performance monitoring, CPU health check, CPU resource availability monitoring, CPU speed checks, and more. OpManager is both a Linux and Windows CPU usage monitor console.

What is the command to check high CPU utilization in Windows? ›

Using Task Manager to Check CPU Usage

The quickest way is to press Ctrl+Shift+Esc on your keyboard. Select the Performance tab. Select CPU to see how much of the CPU the computer is currently using. To see which apps are using the CPU the most, open the Processes tab.

What is the top command to check CPU utilization? ›

Use the "top" command in conjunction with "ps" for real-time monitoring. Open a terminal and run: The "top" command provides an interactive interface that continuously updates information about system processes, including CPU utilization. It displays the most CPU-intensive processes at the top of the list.

Why is my CPU usage so high when I'm not doing anything? ›

This can happen as a result of issues with software on your computer: For example, you may have forgotten to update key software programs on your device, or you may even have malware on your computer that you are unaware of. Additionally, high CPU usage can also happen as a result of hardware issues.

What determines CPU utilization? ›

The total number of instructions executed for a specific task, program, or algorithm affects CPU utilization.

Which system increases the CPU utilization? ›

Autostart programs and background processes

Too many background processes running simultaneously on a computer consume CPU resources and unnecessarily cause high CPU usage.

Why is my window server taking up so much CPU? ›

Why is WindowServer process CPU usage so high? The most common causes include working with multiple displays at a time, heavy use of visual effects, and app glitches.

How do I troubleshoot CPU errors? ›

Here's a step-by-step guide on correctly troubleshooting CPU issues:
  1. First Step: Check the Temperature of the System. ...
  2. Step 2: Inspect the cooling mechanism of the CPU. ...
  3. Step 3: Update the Drivers and Firmware. ...
  4. Step 4: Inspect the Hardware Components. ...
  5. Step 5: Scan for malware and viruses.
Mar 23, 2024

How do you investigate CPU usage? ›

To check for high CPU usage on a computer, you can use the following methods: Using the Task Manager: Open the Task Manager (Ctrl + Shift + Esc) and go to the “Performance” tab. The CPU usage will display as a graph; if the computer runs high CPU usage, the chart will be primarily red.

How to troubleshoot Windows server performance issues? ›

What are the best methods for troubleshooting Windows server performance?
  1. Monitoring key metrics.
  2. Analyzing event logs.
  3. Running diagnostics tests.
  4. Optimizing server configuration.
  5. Updating server software.
  6. Troubleshooting common issues.
  7. Here's what else to consider.
Mar 1, 2024

Top Articles
Latest Posts
Article information

Author: Golda Nolan II

Last Updated:

Views: 6425

Rating: 4.8 / 5 (78 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Golda Nolan II

Birthday: 1998-05-14

Address: Suite 369 9754 Roberts Pines, West Benitaburgh, NM 69180-7958

Phone: +522993866487

Job: Sales Executive

Hobby: Worldbuilding, Shopping, Quilting, Cooking, Homebrewing, Leather crafting, Pet

Introduction: My name is Golda Nolan II, I am a thoughtful, clever, cute, jolly, brave, powerful, splendid person who loves writing and wants to share my knowledge and understanding with you.