博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
好用的抓取dump的工具-ProcDump
阅读量:5907 次
发布时间:2019-06-19

本文共 1754 字,大约阅读时间需要 5 分钟。

Procdump是一个轻量级的Sysinternal团队开发的命令行工具, 它的主要目的是监控应用程序的CPU异常动向, 并在此异常时生成crash dump文件, 供研发人员和管理员确定问题发生的原因. 你还可以把它作为生成dump的工具使用在其他的脚本中.

 

有了它, 就完全不需要在同一台服务器上使用诸如32位系统上的Debug Diag 1.1或是64位系统上的ADPlus了.

 

问题描述

===============

在任务管理器里发现w3wp.exe的CPU总在49%-60%左右, 间歇性地会下降一些. 我们需要在w3wp.exe的CPU在50%以上并能维持三秒钟的情形下抓取两组dump. 如果使用debug diag或adplus的话, 会比较困难, 因为这需要等待时机并手动抓取. 容易出现抓到的dump里不包含那些引发异常的动作的情况.

 

解决方案 - 救世主procdump

===============

Procdump可以很方便地帮助我们应付这种情况, 加速动作过程, 抓取正确数据集合. 它会指定的时间内监控目标进程的cpu, 并在那个点抓取一个内存快照(dump).

比如说:

procdump -ma -c 50 -s 3 -n 2 5844 (Process Name or PID)  -0 c:\dumpfile

    -ma 生成full dump, 即包括进程的所有内存. 默认的dump格式包括线程和句柄信息.

    -c 在CPU使用率到达这个阀值的时候, 生成dump文件.

    -s CPU阀值必须持续多少秒才抓取dump文件.

    -n 在该工具退出之前要抓取多少个dump文件.

    -o dump文件保存目录. 

 

上面的命令行会监控w3wp.exe的CPU, 在CPU使用率超过百分之五十超过3秒的时候, 生成dump文件, 重复该动作两次.

 

下面是该命令的一个实例记录:

C:\Users\jaskis\Downloads\procdump> procdump -ma -c 50 -s 3 -n 2 5844 -o c:\dumpfile

ProcDump v1.1 - Writes process dump files 
Copyright (C) 2009 Mark Russinovich 
Sysinternals - 
Process:            w3wp.exe (5844) 
CPU threshold:      50% of system
Duration threshold: 3s
Number of dumps:    2
Hung window check:  Disabled 
Exception monitor:  Disabled 
Dump file:          C:\Users\jaskis\Downloads\procdump\w3wp.dmp 
Time        CPU  Duration 
[23:48.35]  59%  1s 
[23:48.36] CPU usage below threshold.
[23:48.37]  54%  1s
[23:48.38]  55%  2s
[23:48.39]  61%  3s
Process has hit spike threshold.
Writing dump file C:\Users\jaskis\Downloads\procdump\w3wp_080309_114839PM.dmp... Dump written. 
[23:48.44]  61%  1s
[23:48.45]  59%  2s 
[23:48.46]  57%  3s 
Process has hit spike threshold. 
Writing dump file C:\Users\jaskis\Downloads\procdump\w3wp_080309_114846PM.dmp... 
Dump written.

 

下载路径:

ProcDump v3.01

 

 

译自:

Using ProcDump.exe to monitor w3wp.exe for CPU spikes

转载于:https://www.cnblogs.com/vcerror/p/4289215.html

你可能感兴趣的文章
Linux_脚本安装包(以Webmin的安装为例)
查看>>
HANDLER命令与实现
查看>>
Linux(Centos)之安装tomcat并且部署Java Web项目
查看>>
MySQL中四舍五入的实现
查看>>
单月销量突破300万台,OPPO R9s为何连破纪录?
查看>>
字节跳动收购锤子部分专利使用权 探索教育领域业务
查看>>
因聚而生,以行致盛|华为中国ICT生态之行2018走进洛阳
查看>>
“通俄门”调查接近尾声?美代理司法部长这样说
查看>>
春运第七天 北京西站铁警为“马大哈”旅客找回物品300余件
查看>>
行业标杆出炉 中国电视工业领军品牌、领军人物花落海信
查看>>
中国2019年基本实现全国建制村直接通邮
查看>>
区块链傻瓜书:EOS与以太坊对比
查看>>
如何设计并实现一个线程安全的 Map ?(上篇)
查看>>
JavaScript的工作原理:解析、抽象语法树(AST)+ 提升编译速度5个技巧
查看>>
react-step-by-step之redux详细注释
查看>>
随手打造一个可以替换全站字符串的nginx镜像(docker)
查看>>
前端开发,关于图片的那些事
查看>>
对于一致性哈希算法的理解
查看>>
初识Spring —— Bean的装配(二)
查看>>
腾讯云上 PhantomJS 用法示例
查看>>