相信大家都遇到过客户机出现某个进程CPU占用高的问题,那么遇到该问题的时候你也会疑惑,有什么软件可以抓取看下究竟为什么占用高?那么今天我们就要用到ProcDump【工具介绍】ProcDump是一个命令行工具,其主要目的 ...
相信大家都遇到过客户机出现某个进程CPU占用高的问题,那么遇到该问题的时候你也会疑惑,有什么软件可以抓取看下究竟为什么占用高?那么今天我们就要用到ProcDump 【工具介绍】 ProcDump是一个命令行工具,其主要目的是监视CPU峰值的应用程序,并产生了Dump转储文件来供开发人员分析。 ProcDump还可以监测无响应程序等各种异常监测,并可以基于系统性能计数器的值转储。它也可以作为一般的进程转储实用程序,您可以在其他脚本嵌入。通俗点说他可以创建指定进程或者窗口的Dump,并且可以监控到指定程序占用CPU超过一个阈值时候再去创建Dump的功能 【使用方法介绍】 用法:procdump [-a] [-c | -cl CPU使用率] [-u] [-s秒] [-n超过] [-e [1 [-b] [-f <过滤器,.. >] [-g] [-h] [-l] [-m | -mL提交用法] [-ma | -mp] [-o] [-p | -pl计数器阈值] [-r] [ - T] [-d <回调DLL>] [-64] <[ - W] <进程名称或服务名称或PID> [转储文件] | -i <转储文件> | -u | -x <转储文件> <图像文件> [参数]>] [ - ? [-e] -c参数表示CPU阈值,例如-c 70 就是CPU使用率达到70%再做操作 -cl参数表示低于CPU阈值,例如-cl 10 就是CPU使用率低于10%再做操作 -d名为调用指定的DLL的MiniDumpCallbackRoutine的转储回调例程。 -e写转储当进程遇到未处理的异常。包括:1,以创建转储第一次机会异常。 -g作为运行在托管过程中(无需操作)本机调试器。 -l显示进程的调试日志记录。 -m内存提交阈值MB在其中创建转储,指的-m 700 就是700M文件阀值 -ma创建full dump, 即包括进程的所有内存. 默认的dump格式包括线程和句柄信息. -ml触发内存时提交以下指定的MB值下降 -n退出之前写的转储数。在该工具退出之前要抓取多少个dump文件 -o覆盖现有的转储文件。 -s CPU阀值必须持续多少秒才抓取dump文件 -h 指定某个无响应超过5秒的程序的dump文件 【示例】 写出来与PID'4572'进程的完全转储: C:\> procdump -ma 4572 当notepad.exe占用CPU超过20,并且持续5秒就创建三个迷你dump文件 C:\> procdump -c 20 -s 5 -n 3 notepad.exe 当hang.exe无响应超过5秒,就创建一个迷你dump文件 C:\> procdump -h hang.exe hungwindow.dmp 当Outlook进程句柄超过10000就创建完整dump C:\>procdump -ma outlook -p "\Process(Outlook)\Handle Count" 10000 备注:如果不指定ma的话,那么默认创建minidump,full Dump指的是完整dump |