cpu占用率100%
- 查看linux系统cpu占用100%的进程id
top
- 查看cpu占用率100%的进程的具体线程cpu占用情况
top -Hp 进程id
这样就可以看到所有该进程id中的所有线程的cpu占用情况。这里如果有线程cpu占用率在80%以上,那么问题,就应该是这个线程导致的,这个时候,要记录下这里的线程id
- 线程id转换为16进制,因为jstack的参数是16进制的数据
printf "0x%x\n" <线程TID>
- 查看问题代码的位置
jstack <步骤3返回的结果> | grep -A 20
启动java程序时,当程序运行出现oom,生成dump文件
java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./oom.dump -jar <jar_file_path>