简单定位占用最高CPU的java进程信息

公司里面一个应用不小心点击就会导致系统性能下降很明显. 性能组的同事定位到了, 我这里以学习的态度重现一下这个过程. 

1. 问题再现

产品一个非常大数据量的帮助, 点击之后就会占用非常多的cpu 因为又开始重复多次点击,所以会导致系统资源占用量较大.

再现问题的方法为点击具体的帮助

然后就卡住了..

 2. 进入操作系统后台查看负载情况

CPU占用超级高 进行简单验证. 

 3. 使用jps获取相应的进程信息

[root@CentOS8 ~]# jps
11138 Jps
16366 caf-bootstrap.jar
[root@CentOS8 ~]# 

4. 查看springboot进程的 具体进程情况

top -Hp 16366

 5. 获取进程号的 16进制数据 便于搜索过滤

printf "%x 
" 17621
结果为 44d5

 6. 使用jstack 查看具体的进程信息

jstack  pid > sometext.text
导出 进程信息
vim /sometext.text
过滤 16进制的数据

 7.根据堆栈信息确认问题原因. 

原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/13288885.html