Java应用服务器CPU占用过高原因排查

Java应用服务器CPU占用过高原因排查


问题

Java应用服务器进程出现CPU占用率过高情况

排查过程

  1. 找到占用CPU高的进程ID(PID)
top
Java应用服务器CPU占用过高原因排查_第1张图片
找到占用CPU高的进程
  1. 查看进程中耗时长的线程
top -p 1190 -H

或者

ps -mp 1190 -o THREAD,tid,time | sort -rn
Java应用服务器CPU占用过高原因排查_第2张图片
方法一
方法二
  1. 将该线程ID转换成16进制
printf "%x\n" 1462
转换结果
  1. 借助JDK内置工具jstack查看具体的线程状态
jstack 1190 |grep 5b6 -A 30
Java应用服务器CPU占用过高原因排查_第3张图片
线程状态
  1. 通过线程状态找出问题所在

PS:本文图片为写本文章时添加的示例图


分享使人进步,文章为作者工作经验总结、平时学习积累,有不对的地方欢迎指出,共同进步。
作者邮箱:[email protected]
版权声明:本文版权归作者所有,欢迎转载,转载请注明出处。


你可能感兴趣的:(Java应用服务器CPU占用过高原因排查)