欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

jstack 排查 java 进程占用大量 CPU 问题

程序员文章站 2022-06-21 07:54:32
1、 top 看看哪个进程是罪魁祸首 2、将这个进程的jstack dump 到一个文件里面,以备使用。 使用 sftp 弄到本地。 3、查看这个进程里面哪些子进程, 按 P 键排序占用 CPU 的子进程 4、在 jstack.log 中搜索 65a1 ......

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

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

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 问题