红联Linux门户
Linux帮助

Java高CPU占用原因排查

发布时间:2016-08-03 12:27:15来源:linux网站作者:celeste7777
top命令发现某个进程占用了100%的CPU
Java高CPU占用原因排查
 
通过ps命令,进一步确定哪个进程出了问题
Java高CPU占用原因排查
 
再查看线程占用CPU的列表
# ps -mp PID -o THREAD,tid,time
Java高CPU占用原因排查
 
找到占用CPU最高的线程,查看TID,将其转换为16进制格式
# printf "%x\n" TID
Java高CPU占用原因排查
 
而后查看堆栈信息
# jstack PID |grep 16进制TID -A 60
Java高CPU占用原因排查
 
这里报错是因为tomcat进程运行用户为tomcat,而当前以root用户查看堆栈信息
Java高CPU占用原因排查
 
因此切换为tomcat执行命令
Java高CPU占用原因排查
# sudo -u tomcat  jstack 32072 |grep 1541 -A 60
# sudo -u tomcat jstack -J-d64 -m 32072
 
本文永久更新地址:http://www.linuxdiyf.com/linux/22958.html