linux下查找java进程占用CPU过高原因

Posted 破阵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下查找java进程占用CPU过高原因相关的知识,希望对你有一定的参考价值。

1. 查找进程
top查看进程占用资源情况
技术分享
明显看出java的两个进程22714,12406占用过高cpu.
 
2.查找线程
使用top -H -p <pid>查看线程占用情况
技术分享
 
3.查找java的堆栈信息
将线程id转换成十六进制
#printf %x 15664
#3d30
 
然后再使用jstack查询线程的堆栈信息
语法:jstack <pid> | grep -a 线程id(十六进制)
 
jstack <pid> | grep -a 3d30
技术分享
 
这样就找出了有问题的代码了。
 
剩下的就是分析原因和修改代码了。
 
 

以上是关于linux下查找java进程占用CPU过高原因的主要内容,如果未能解决你的问题,请参考以下文章

linux查看java进程cpu占用过高

Java内存CPU占用率过高

排查linux下java应用cpu占用过高

java 多线程 cpu 占用率高的问题

linux java cpu占用过高怎么办

Linux环境Java程序占用 CPU 过高如何排查