线上cpu负载太高 问题排查

//线上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

相关文章
相关标签/搜索