一、CPU 100% 问题排查
1.1、找到 cpu 占有率最高的 java 进程号
使用命令: top -c 显示运行中的进程列表信息, shift + p 使列表按 cpu 使用率排序显示。
PID = 2227 的进程,cpu 使用率最高
1.2、根据进程号找到 cpu 占有率最高的线程号
使用命令: top -Hp {pid} ,同样 shift + p 可按 cpu 使用率对线程列表进行排序。
10转16
[root@localhost ~]$ printf %x 2228
8b4
16转10
[root@localhost ~]$ printf %d 0x8b4
2228
PID = 2228 的线程消耗 cpu 最高,十进制的 2228 转成十六进制 8b4
1.3、利用 jstack 生成虚拟机中所有线程的快照
jstack -l {pid} > {文件位置}/*.stack