Troubleshooting: Tracking High CPU Usage

How to Identify and Resolve High CPU Usage Issues

Issue:

On rare occasions, people have reported an issue where CPU usage on the EveryonePrint server reached close to 100%. In such cases, log files may not be sufficient to track down the root cause of the issue. More in-depth tracking of running processes and file handles is then necessary.

Solution:

Process Explorer Tool

  • Download Sysinternal Process Explorer from the Microsoft site at https://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
  • Unzip content to C:\
  • You can create a shortcut to launch Process Explorer at startup: on Windows 2012, click Start and enter "shell:StartUp"
  • Setup shortcut properties with /t (start minimized) and /e (start elevated), as shown in the screenshot below.
    Windows-Shortcut-Properties-Process-Explorer-Startup-Configuration
  • Setup Process Explorer Options: Allow Only One Instance.
    Process-Explorer-Options-Menu-Settings-Screenshot
  • Setup Process Explorer View: Show Process Tree / Show Lower Pane -> Handles
    Process-Explorer-View-Menu-Screenshot

Using Process Explorer:

  • Using Process Explorer to identify EveryonePrint Web service in normal operation.
    Process-Explorer-System-Usage-Diagnostics
  • Using Process Explorer to track a process using high-CPU; here, cpp.exe is using 30% + CPU, and we can identify the file currently being printed.
    High-CPU-Usage-Detailed-Analysis-Process-Explorer

With this information, it is now possible for us to analyze the log files, track down the origin of the file being printed, grab a copy (when EveryonePrint is set up for 'DebugKeepFiles), perform debugging in our lab, etc.