java高CPU使用率排查-线程分析
侧边栏壁纸
博主昵称
yuc

  • 累计撰写 291 篇文章
  • 累计收到 0 条评论

java高CPU使用率排查-线程分析

yuc
yuc
2024-04-25 / 最后修改: 2024-04-25 09:48 / 0 评论 / 5 阅读 / 正在检测是否收录...
使用率排序

找出进程对应的线程 --> 过滤其它信息只留线程相关的内容 --> 对过滤的内容按占用cpu大小进行排序 --> 输出到文件中

top -H -p PID -d 1 -n 1 | grep java | awk '{print $2,$10}' | sort -r -k 2  > thread
脚本
#!/bin/bash
#
rm -rf xthread
jstack -l $1 > debug.log
top -H -p $1 -d 1 -n 1 | grep java |awk '{print $2,$10}' | sort -r -k 2  > thread
while read line;do
    th=`echo $line | awk '{print $1}'`
    printf "%x\n" ${th} >> xthread
done < thread

导出内存堆栈,使用 MAT 分析,-F 强制导出

jmap -dump:format=b,file=11010.dump 11010

命令行分析内存转储,生成html

./ParseHeapDump.sh ~/316/316dump.out ls
./ParseHeapDump.sh ~/316/316dump.out org.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components
0

评论

博主关闭了当前页面的评论