java服务器cpu100%排查

1.使用top命令,找到cpu占用最高的进程id(pid);
在这里插入图片描述

2.使用top -p -H命令找到当前进程里面占用cpu最高的线程id(tid),显示的还是pid;在这里插入图片描述
3.将tid转为16进制,printf “%x”
在这里插入图片描述
4.获取线程栈信息,jstack -l /tmp/<文件名>.log将进程信息输出到文件中查看分析;或者jstack | grep <16进制tid>,这个命令只能查看部分信息

5.获取堆内存信息,jmap -dump:format=b,file=文件名.dump 或者这个jmap -dump:live,format=b,file=文件名.dump , live的意思是导出存活对象,其实就是在导出之前执行一次fgc。文件后缀.dump或者.hprof都可以。
将堆内存信息输出到文件中,下载到本地使用jvisualvm进行装入分析,(或者jprofier等分析工具即可);

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值