1、 top 看看哪个进程是罪魁祸首
jstack 排查 java 进程占用大量 CPU 问题 Linux 第1张

2、将这个进程的jstack dump 到一个文件里面,以备使用。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
jstack -l 25886 > /tmp/jstack.log
# 如果报错,则加 -F 命令强制执行。
jstack -F 25886 > /tmp/jstack.log

使用 sftp 弄到本地。

3、查看这个进程里面哪些子进程, 按 P 键排序占用 CPU 的子进程

top -H -p 25886 (top得到的进程号)
# 这里得到的子进程id 为 26017,把该值转化为十六进制

echo 26017 |awk '{printf("%x\n",$0)}'
# 得到
65a1

4、在 jstack.log 中搜索 65a1
jstack 排查 java 进程占用大量 CPU 问题 Linux 第2张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄