微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

windows – 转储文件分析

最近我开始面对几个服务器上的问题,其中cpu开始消耗比平常趋势更多的资源.我试图找出这个的根本原因并从任务管理器转移w3wp进程(右键单击进程并进行转储).
现在dmp文件大小是14GB,我试图通过WinDBG分析它,但该工具无法正常工作并获取消息:

Error Screen Shot

我也拿了几个minidumps,但是其中一些打开很好,而很少不是这样,它与32位或64位之间的混淆无关.(收集的转储是64位).
我想知道造成这个问题的原因.它是文件大小还是我没有正确地进行转储.
我检查了link,但没有用.

解决方法

Windbg不适合这项工作.转储只是快照,所以你不知道之前发生了什么.使用ETW和cpu采样,它对所有调用进行求和,并详细显示cpu使用情况.

安装Windows性能工具包,它是Windows 10 SDK的一部分(Win8 / 8.1(Server2012 / R2)上的V1607 works和Win10或V1511 SDK,如果您使用的是Windows 7 / Server2008R2)),运行WPRUi.exe并选择cpu使用率

enter image description here

然后按开始.捕获1-2分钟的高cpu使用率,然后单击“保存”. Open the generated ETL with WPA.exe (Perf analyzer),将cpu Usage(Sampled)图形拖放到analysys窗格

enter image description here

现在在图表中选择您的流程,放大并展开堆栈,在这里您可以看到所有呼叫的cpu使用率的权重

在此示例中,Internet Explorer的大部分cpu使用率来自HTML内容.

对于.NET应用程序,WPA会显示与.net相关的分组,如GC或JIT:

enter image description here

展开w3wp进程的堆栈以查看它正在做什么.从名称中你应该知道会发生什么.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐