【Real World Case】记一次显示GC导致的“服务器太忙”报错

有生产项目反馈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线程

 

 

 大多数活动线程信息

 

 

问题现象

           

 

posted on 2021-01-06 18:31  王.小辉  阅读(193)  评论(0编辑  收藏  举报

导航