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)

 

  

    

  

 

  

posted @ 2022-12-08 09:22  Candy丶ice  阅读(23)  评论(0编辑  收藏  举报