ProcDump: free tool for monitoring an application for CPU spikes |
Friday, 14 August 2009
by Michel Roth
|
ProcDump is a command-line utility whose primary purpose is monitoring an application for CPU spikes and generating crash dumps during a spike that an administrator or developer can use to determine the cause of the spike.
ProcDump also includes hung window monitoring (using the same definition of a window hang that Windows and Task Manager use) and unhandled exception monitoring. It also can serve as a general process dump utility that you can embed in other scripts.
Using ProcDump
usage: procdump [-64] [-c CPU usage [-u] [-s seconds] [-n exceeds]] [-h] [-e] [-ma] [-r] [-o] [[<process name or PID> [dump file]] | [-x <image file> <dump file> [arguments]]
-64 |
By default Procdump will capture a 32-bit dump of a 32-bit process when running on 64-bit Windows. This option overrides to create a 64-bit dump. |
-c |
CPU threshold at which to create a dump of the process.
|
-e |
Write a dump when the process encounters an unhandled exception.
|
-h |
Write dump if process has a hung window. |
-ma |
Write a dump file with all process memory. The defaultdump format includes thread and handle information.
|
-n
|
Number of dumps to write before exiting. |
-o
|
Overwrite an existing dump file. |
-r
|
Reflect (clone) the process for the dump to minimize the time the process is suspended (Windows 7 and higher only). |
-s
|
Consecutive seconds CPU threshold must be hit before dump is written (default is 10). |
-u
|
Treat CPU usage relative to a single core.
|
-x
|
Launch the specified image with optional arguments. |
To just create a dump of a running process, omit the CPU threshold. If you omit the dump file name, it defaults to <processname>.dmp.
Examples
Write up to 3 dumps of a process named 'consume' when it exceeds 20% CPU usage for three seconds to the directoryc:\dump\consume with the name consume.dmp:
C:\>procdump -c 20 -n 3 -o consume c:\dump\consume
Write a dump for a process named 'hang.exe' when one of it's windows is unresponsive for more than 5 seconds:
C:\>procdump -h hang.exe hungwindow.dmp
Launch a process and then monitor it for excessive CPU usage:
C:\>procdump -c 30 -s 10 -x consume.exe consume.dmp
Write a dump of a process named 'iexplore' to a dump file that has the default name iexplore.dmp:
C:\>procdump iexplore
Source: http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx
|