如何分析IIS占用CPU资源问题?看看这篇文章吧
ProcDump捕获dump文件
1、下载
官方下载地址为:
https://learn.microsoft.com/en-us/sysinternals/downloads/procdump#introduction
2、安装
下载下来的文件为压缩包,直接解压执行对应文件即可使用。
3、捕获dump文件
例如,捕获IIS进程dump文件
在cmd或者powershell中执行命令:
C:\Users\Administrator\Downloads\Procdump\procdump64.exe -c 20 -s 4 -ma -n 3 w3wp #参数介绍 -c 代表cpu使用率超过20%自动捕获 -s 每隔多少s获取一个文件 -n 总共捕获多少个dump文件
WinDbg分析dump文件
1、下载
WinDbg工具下载比较特殊,该工具是集成到windows-sdk安装包中的,所以需要先下载windows-sdk
。
windows-sdk
官网下载地址:
https://developer.microsoft.com/zh-cn/windows/downloads/windows-sdk/
2、安装
打开windows-sdk
在安装的时候选择只下载安装"Debugging Tools for Windows"即可。如下图:
然后进入安装目录下找到下载的安装包,双击安装WinDbg工具
安装完成之后,就可以看到“WinDbg”这个软件了
3、分析dump文件
打开dump文件
选择目标dump文件
在命令输入区,输入对应命令分析:
1、命令:!runaway
可以看到哪些进程是消耗Time最长的,时间越长占用的cpu时间越久,这样就可以分析那个线程的问题了
2、命令:~19s
进入线程,命令:~19,意思是19这个线程。实际使用的时候需要根据实际的序号输入
3、命令:!clrstack
查看具体是哪个方法导致的