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.

See Also
Tech Center

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 utilization on 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 do you 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 do I fix high CPU usage on Windows? ›

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 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

Why CPU utilization is high in 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.

Why is my server CPU usage high? ›

It's common to have custom code running on servers for specific tasks. If such codes are not optimized, they might end up using a lot of CPU resources. Unoptimized loops and recursion are some of the most common causes for high CPU usage due to unoptimized code.

How do you troubleshoot in general high CPU and high memory issue? ›

To troubleshoot high CPU or memory usage, begin by using Task Manager (Windows) or Activity Monitor (macOS) to identify resource-hungry processes. Close unnecessary apps, run malware scans, update your OS and software, and manage resource-intensive applications and browser extensions.

How to diagnose CPU issues? ›

You can use a software tool, such as CPU-Z, to check the CPU model, speed, temperature, and voltage. You can also run a stress test, such as Prime95, to see how the CPU performs under heavy load. If the CPU fails the test, shows incorrect information, or causes errors or crashes, you likely have a defective CPU.

What is the difference between CPU usage and CPU utilization? ›

utilization - Provides statistics for physical CPUs. cpu. usage - Provides statistics for logical CPUs. This is based on CPU Hyperthreading.

How to find the root cause for high CPU utilization? ›

Detailed process / thread information is useful for identifying the exact thread within a process that is experiencing high CPU. You should collect this data at the same time as the stack trace so we can look for the identified thread in the stack trace for more information.

How to check CPU utilization logs in Windows? ›

Using Task Manager to Check CPU Usage

Open Task Manager. 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.

Why is CPU usage 100% when nothing is running? ›

Outdated hardware or drivers: Using outdated hardware or drivers can cause CPU at 100% for no reason. Updating to the latest version can help improve system performance and resolve high disk usage issues. Troubleshoot Potential Hardware Issues: In some cases, high CPU usage may result from hardware-related issues.

How to reduce CPU usage? ›

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 troubleshoot performance issues? ›

Gather baseline performance data. When a performance problem arises, you can gather data on similar operations and compare it with the baseline data. This can help you identify what operations cause the performance problem.

How do I manage server performance? ›

Best Practices For Server Monitoring
  1. Establish A Baseline. A baseline represents an ideal standard of your server performance. ...
  2. Track Key Metrics. ...
  3. Use Effective Monitoring Tools. ...
  4. Monitor Consistently. ...
  5. Set Up Notifications And Reports.

How to troubleshoot high CPU usage by WMI components? ›

WMI: How to troubleshoot High CPU Usage by WMI Components
  1. Open command prompt with elevated privileges.
  2. Run following command: sc config winmgmt type= own.
  3. Restart Wmi service.
  4. Run sc query winmgmt to ensure status of service now reflects “own” indicating running in its own svchost process.
Mar 16, 2019

Why is CPU utilization high in Windows Server 2012? ›

Assume that many client computers that have unique IP addresses connect to a Windows Server 2012-based server. For example, more than 100,000 client computers that have unique IP addresses connect to the server. In this situation, the network traffic stalls, and the server experiences high CPU usage.

How do I fix high CPU usage in IIS worker process? ›

Fix high CPU usage in the IIS worker process. To fix the high CPU usage, you will need to do two things: Eliminate the blockages causing poor performance under high CPU usage (making your workload more elastic). Reduce CPU usage of the application code, to avoid CPU overloads and be able to handle more traffic.

Top Articles
Latest Posts
Article information

Author: Msgr. Benton Quitzon

Last Updated:

Views: 6011

Rating: 4.2 / 5 (43 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Msgr. Benton Quitzon

Birthday: 2001-08-13

Address: 96487 Kris Cliff, Teresiafurt, WI 95201

Phone: +9418513585781

Job: Senior Designer

Hobby: Calligraphy, Rowing, Vacation, Geocaching, Web surfing, Electronics, Electronics

Introduction: My name is Msgr. Benton Quitzon, I am a comfortable, charming, thankful, happy, adventurous, handsome, precious person who loves writing and wants to share my knowledge and understanding with you.