windows – 转储文件分析
最近我开始面对几个服务器上的问题,其中CPU开始消耗比平常趋势更多的资源.我试图找出这个的根本原因并从任务管理器转移w3wp进程(右键单击进程并进行转储).
现在dmp文件大小是14GB,我试图通过WinDBG分析它,但该工具无法正常工作并获取消息: 我也拿了几个minidumps,但是其中一些打开很好,而很少不是这样,它与32位或64位之间的混淆无关.(收集的转储是64位). 解决方法
Windbg不适合这项工作.转储只是快照,所以你不知道之前发生了什么.使用ETW和CPU采样,它对所有调用进行求和,并详细显示CPU使用情况.
安装Windows性能工具包,它是Windows 10 SDK的一部分(Win8 / 8.1(Server2012 / R2)上的V1607 works和Win10或V1511 SDK,如果您使用的是Windows 7 / Server2008R2)),运行WPRUi.exe并选择CPU使用率 然后按开始.捕获1-2分钟的高CPU使用率,然后单击“保存”. Open the generated ETL with WPA.exe (Perf analyzer),将CPU Usage(Sampled)图形拖放到analysys窗格 现在在图表中选择您的流程,放大并展开堆栈,在这里您可以看到所有呼叫的CPU使用率的权重 在此示例中,Internet Explorer的大部分CPU使用率来自HTML内容. 对于.NET应用程序,WPA会显示与.net相关的分组,如GC或JIT: 展开w3wp进程的堆栈以查看它正在做什么.从名称中你应该知道会发生什么. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 加载DLL不初始化静态C类
- 安装程序 – WiX:将安装路径传递到托管自定义操作
- powershell – 如何在Windows 10中从命令行打开/关闭Window
- azure – 使用Service Fabric模板时出现Bad dll文件异常
- windows – node.js和命令行(cmd.exe)
- .net – 文件由另一个进程使用.怎么知道哪个过程?
- 适用于Windows的硬盘分区软件
- windows – 如何获取LAN上的活动IP地址,MAC地址和NetBIOS名
- windows-server-2003 – 用户无法访问Windows Server 2003中
- windows-server-2008 – 我可以将Windows 2000域升级到2008