一、介绍
Dmp抓取工具
ProcDump是一个命令行工具,其主要目的是监视CPU峰值的应用程序,并产生了Dump转储文件来供开发人员分析。 ProcDump还可以监测无响应程序等各种异常监测,并可以基于系统性能计数器的值转储。它也可以作为一般的进程转储实用程序,您可以在其他脚本嵌入。通俗点说它可以创建指定进程或者窗口的Dump,并且可以监控到指定程序占用CPU超过一个阈值时候再去创建Dump的功能
下载地址及官方文档:procdump
二、使用
可选参数:
-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文件
-t 进程终止时编写转储
-w 如果指定的进程未运行,请等待其启动
当PID:7252 占用CPU超过20,并且持续5秒就创建三个迷你dump文件
procdump -c 20 -s 5 -n 3 7252
每隔 5 秒保存一次转储文件,一共保存 3 次
procdump -s 5 -n 3 process_name or process_id [path/to/save/dump]
当进程 CPU 占用率 高于 %10,并持续 2s 的时候生成转储文件,最多生成 10 个
procdump -s 2 -n 10 -c 10 process_name or process_id [path/to/save/dump]
当进程有未处理异常、进程终止时保存2次
procdump -e -t -n 2 process_name or process_id [path/to/save/dump]