服务占用cpu过高排查
先用top命令找出CPU占比最高的
top |
CPU占用最高的是java进程,它的 进程ID:3362
ps -ef 或者 jps 进一步定位,得知是怎样的程序
[root@192 ~] ps -ef | grep 3362 | grep -v grep |
定位到具体的线程或者代码
ps -mp 3362 -o THREAD,tid,time |
如图所示,引起CPU过高的 线程ID:3363
将线程ID转换为16进制格式(英文小写)
3365 转换为16进制结果:d23
jstack
格式:jstack 进程ID | grep tid(16进制小写) -A60
jstack 3362 | grep d23 -A60 |
这样,就能找出具体的异常代码位置
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 shine个人博客!
评论
ValineDisqus