有生产项目反馈iis web应用在使用过程出现“服务器太忙”报错,检查思路简单记录之
检查思路:
(1)问题时段任务管理器查看w3wp.exe进程CPU占用50%左右,内存1.5G左右,线程数350且持续增长。
(2)抓w3wp.exe进程dump,分析发现显式调用GC,导致大量线程处于活动状态。因此,该问题应该是频繁GC导致,协调相关开发关闭相关的日志开关后问题消失。
Debug过程
检查进程整体情况,CPU占用81%,总共212个托管线程,活动状态有180,CPU占用和活动线程数都是异常的。针对CPU占用异常的问题,.net中81%的CPU占用这个数值通常是有特殊含义的,即此时正常进行GC,检查发现果然存在线程正在执行GC。检查其他线程,发现其他线程基本都是等待状态
GC线程
大多数活动线程信息
问题现象