生成环境一次JVM 调优的记录总结(八)

cpu过高、项目运行慢:

进入Linux重端命令行  top 命令:找到java 进程号  7498

生成环境一次JVM 调优的记录总结(八)

2.执行 top -p 7498 单独监控该进程,页面:

生成环境一次JVM 调优的记录总结(八)

3、在第 2 步的监控界面输入 H,获取当前进程下的所有线程信息:发现7501、7500两个线程占用内存最大。

生成环境一次JVM 调优的记录总结(八)

4、执行 jstack 7498  对当前的进程做 dump ,输出所有的线程信息,随机截图:
生成环境一次JVM 调优的记录总结(八)
 

5、里面的线程id 是16进制,随机找到一个截图:

生成环境一次JVM 调优的记录总结(八)

6 将第 3   步得到的线程编号 7500  通过计算器 转成 16 进制是 1D4C、1D4D
生成环境一次JVM 调优的记录总结(八)  生成环境一次JVM 调优的记录总结(八)
7 根据第 6 步得到的 1D4D   在第 5 步的线程信息里面去找对应线程内容:
生成环境一次JVM 调优的记录总结(八)
 

生成环境一次JVM 调优的记录总结(八) 生成环境一次JVM 调优的记录总结(八)

8 解读线程信息,定位具体代码位置,发现是两个垃圾回收的线程占用过多的线程资源,疯狂的垃圾回收导致系统变慢,今天实战线上排查到此结束!