Written by Cheng Pei Koay, Microsoft Premier Field Engineer.
Here’s my quick list of 4 tools that should be in the arsenal of anyone who’s troubleshooting high-CPU usage situations on Windows systems.
1) User Mode Process Dumper
The User Mode Process Dumper dumps any running Win32 processes memory image which includes system process. This tool will dump without attaching a debugger or terminating target processes.
User Mode Process Dumper Version 8.1 was last published on April 2007. This tool has since been embedded within the Windows OS (Windows Vista, Windows 7, Windows Server 2008 and Windows Server 2008 R2) when you select Processes and Create Dump File in Task Manager. The dump will be created at folder drive:\Users\UserName\AppData\Local\Temp.
ADPlus is a tool from Microsoft Customer Service and Support (CSS) that can troubleshoot any process or application that stops responding (hangs) or fails (crashes). Frequently, you can use ADPlus (ADPlus.vbs) as a replacement tool for the Microsoft Internet Information Server (IIS) Exception Monitor (6.1/7.1) and User Mode Process Dump. These are two separate tools that CSS frequently uses to isolate what causes a process to stop responding (hang) or quit unexpectedly (crash) in a Microsoft Windows environment.
This tool comes with the Debugging Tools for Windows and is a great resource for administrators to use for dumping out a process during a high CPU occurrence. However, one of the drawbacks of ADPlus is that a person usually has to be at the console to physically issue the Adplus command to dump out the process when the CPU spike occurs.
3) Process Explorer (procexp.exe)
Process Explorer is a highly recommended tool for looking at the thread that's spiking the CPU to determine what components are involved. The unique capabilities of Process Explorer make it useful for tracking down DLL-version problems or handle leaks, and provide insight into the way Windows and applications work.
ProcDump is a new Windows Sysinternals tool from Mark Russinovich. Procdump.exe was created with the functionally of Process Explorer and capturing a dump file of a process to help troubleshoot those pesky high-CPU problems.
ProcDump lets you configure how much CPU a process should consume and for how long a time period before ProcDump creates a dump of the process. What this means is that you don't have to be at the console ready to issue commands the next time the process spikes the CPU. And you get to determine at what threshold the process can consume the CPU before ProcDump captures a dump of the spiking process.
Do you have any favorites I haven’t listed? If so, please share.