WinDbg Preview分析服务CPU100%问题
一、使用工具
1、ProcDump
下载地址:ProcDump - Sysinternals | Microsoft Learn
2、WinDbg Preview
下载地址:下载 Windows 调试工具 - WinDbg - Windows drivers | Microsoft Learn
二、使用ProcDump抓取*.dmp文件
1、打开windows命令行cmd,进入到包含procdunmp文件的路径下,对于32位系统打开procdump.exe,64位系统则打开procdump64.exe。
2、执行命令行,意思为:当fid为43356的进程 cpu超过80%,并且持续4秒,抓取3个dump文件存储起来,存储位置默认为操作步骤1所在的目录
procdump -c 80 -s 4 -ma -n 3 43356
然后等待生成即可
三、使用WinDbg Preview进行分析
1、设置系列目录:将你程序的发布文件地址设置到系列目录
2、加载dump文件
3、等待加载完成
4、载入sos.dll:sos文件在服务器上的C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SOS.DLL地址获取,然后执行一下命令行
.load F:\WinDbg分析\SOS.DLL
5、!threadpool 查看当前CPU状况 线程数等等
6、执行 !runaway 命令 查看那几个线程使用的高
7、~线程IDs 跳转到那个线程
8、!clrstack 看看这个线程再干嘛 执行那些方法
9、!clrstack -a 可以查看详情
然后去项目中查找优化即可
参考地址:Windbg+Procdump解决w3wp.exe CPU过百问题 - 晓道 - 博客园 (cnblogs.com)