经验

Java问题排查-CPU飙高

2020-09-23  本文已影响0人  Real_man

方法一 命令行工具

  1. 查看哪些Java进程在运行
ps -ef | grep -i java

#或者 

jps -v
  1. 查看具体进程线程占用情况,(shift+p 按cpu排序,shift+m 按内存排序)
top -Hp java进程ID
image.png
  1. 将对应的进程转换为16进制,jstack进程默认为16进制。
jstack Java进程PID | grep -i `printf "%x\n" 最高的线程Id`
image.png

方法二 arthas工具

按照官方文档安装工具:https://arthas.aliyun.com/doc/

  1. 输入dashboard命令查看整体情况

  2. thread命令查看线程整体情况


    image.png
  3. thread 线程Id查看线程的具体情况


    image.png

4 将堆内存dump下来,arthas的heapdump文档:https://arthas.aliyun.com/doc/heapdump.html

heapdump --live /tmp/dump.hprof

5 在headphero.io网站上分析dump的文件。
https://heaphero.io/

上一篇 下一篇

猜你喜欢

热点阅读