IIS崩溃(死循环)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a15959255535/article/details/78259618

现象:站点经常莫名其妙的卡住,无法访问,查看CPU,达到100%

打开服务器管理器->诊断->事件查看器->自定义视图->服务器角色->Web服务器(IIS),有一大堆的报错:

5002:应用程序池“xx2016”将被自动禁用,原因是为此应用程序池提供服务的进程中出现一系列错误。

5010:为应用程序池“xx2016”提供服务的进程未能响应 Ping。进程 ID 是“9444”。

5011:为应用程序池“xx2016”提供服务的进程在与 Windows Process Activation Service 通信时出现严重错误。该进程 ID 为“4048”。数据字段包含错误号。


解决方案:

方案1:WinDbg

下载对应的x86 x64版本
http://www.windbg.org/
Symbol Server (Microsoft):
srv*c:\mss2*http://msdl.microsoft.com/download/symbols
打开dmp文件(在c盘中搜索wer关键字,一般在:C:\ProgramData\Application Data\Application Data\Application Data\Microsoft\Windows\WER\ReportQueue\),找出最大的两个文件分别载入
运行.reload /f(强制下载Symbols)
运行!analyze -v即可看到堆栈


方案2:Debug Diagnostic Tool

扫描二维码关注公众号,回复: 4377818 查看本文章

Debug Diagnostic Tool=>Advanced Analysis=>Add Data Files 引入mdmp和hdmp文件,点击Start Analysis
偶尔能够检测出死循环堆栈


猜你喜欢

转载自blog.csdn.net/a15959255535/article/details/78259618