记录我的第一次线上CPU99%的经历
言简意赅:
AM:10:00上线,正常;AM:11:20,吃饭食堂里碰到运维人员说上线后现在CPU99%,需要查问题。
饭完,上楼,查BUG。
第一步:
top看下哪个PID这么调皮跑这么快(这个截图是其中一台服务器,最高的一台飙到700%+):
然后:top -H -p 115798 查看具体(当时没有截图,忘了,没想到这么快解决):
应该长这样,红框框那列,每个都94%。0-99.0%跳动,大概有6-7个,然后随便选了一个PID(当时线上是47404),
使用命令:jstack -l 47404.txt dump 出线程堆栈信息到47404.txt文件,notepad++打开,搜索47404(10进制)的16进制数:b92c,(linux服务器上使用命令转换:printf %x 47404)
这次上线的一个接口,打开idea,找到FmsServiceImpl的581行看下情况:
第二个for下标写错,改正,重新发布,测试OK。CPU正常: