//线上cpu负载太高 问题排查java
1.安装jstack线程
yum install -y java-1.8.0-openjdk-devel-debugdebug
2.使用top命令 查询进程占用cpu最高的pid。日志
shirft +p进程
3.查询占用cpu最高进程中的 子进程test
top -H -p pid 取出第一位的 子进程号subPidjdk
4. 打印出 该进程号 的 16进制。bug
printf '%x\n' subPidgrep
xxaayum
5.在jstack 进程堆栈日志中 找到 线程(或子进程)的位置, 打印出先后30行。
jstack pid | grep xxaa -C 30
或者 jstack pid | grep -A 30 xxaa
6.定位问题和解决方案。
根据打印的堆栈日志,能够快速定位问题。
7.也能够将堆栈日志 输出到文件
jstack pid >> test.txt