Life with teacher Lemon.

Java 进程故障排查

2020.11.16 | 共 160 字,阅读需约 1 分钟.

排查步骤

  • 查询进程号
ps -ef | grep 服务名
  • 查看 gc 情况
jstat -gcutil pid 1000 10
  • 查询占用 cpu 最高的线程号
top -Hp pid
按大写的 P 键
  • 查询占用内存最高的线程号
top -Hp pid
按大写的 M 键
  • 打印查询到的线程号的 16 进制 nid
printf '%x\n' tid
  • 查看该线程的具体执行信息
jstack pid | grep -A 50 nid
  • 当然,更常见的情形是直接将整个进程的线程信息打印出来
jstack pid
  • 查看每种状态的统计情况,重点关注 WAITING, TIMED_WAITINGBLOCKED
grep 'java.lang.Thread.State' jstack.log | sort -nr | uniq -c
发表评论
今日诗词