公司里面一个应用不小心点击就会导致系统性能下降很明显. 性能组的同事定位到了, 我这里以学习的态度重现一下这个过程.
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 \n" 17621
结果为 44d5
6. 使用jstack 查看具体的进程信息
jstack pid > sometext.text 导出 进程信息 vim /sometext.text 过滤 16进制的数据
7.根据堆栈信息确认问题原因.