记一次生产故障排查
前言收到生产某服务多台机器报警,cpu飙到100%,系统无法正常提供服务。故开始排查问题。
分析一、分析cpu过高的原因tomcat进出把cpu占满了cpu。使用命令top top -H -p pid查到tomcat进程中相应的线程。将查到的线程号转成十六进制printf "%x\n" tid。然后使用命令jstack pid | tid -A 50查看线程快照。判断是因为频繁full gc引起的cpu飙高。
二、分析频繁full gc的原因首先先查看了jvm的堆内存配置。整个堆内存约为5.5个G,其中青年代分了3个G,老年代分了2.5个G。
再使用命令jstat -g
...