旧业务不断的调整,新的需求不断的开发,版本不断的迭代,这个是当前项目的一个暂时不可改变的现状。再加上每个开发人员写代码的风格和层次不一样,所以有很多本来可以在写代码过程中避免的问题非要通过线上的报警才能发觉。
最近两天线上linux服务器发现java进程CPU不断的飙升,新发的包过一会儿CPU就慢慢上涨,感觉很奇怪,之前没有这种情况,应该开发人员新写的代码所导致,排查问题如下:
一 使用top命令
使用top命令
top
结果如下:
过了一会儿,继续top查看
二 查询具体的线程CPU占用率
使用命令 ps -mp 5910 -o THREAD,tid,time
ps -mp 5910 -o THREAD,tid,time
结果如下:
可以看到5910号进程产生了大量的线程,继续查看该线程的具体执行情况