###Linux环境 

top查到25812进程的CPU高

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

java 程序 CPU 100%的解决办法 随笔 第1张

根据进程的PID找到 该进程中CPU使用率最高的线程号 26001 使用了72%

ps -mp 25812 -o THREAD,tid,time |sort -n -k 2 按线程使用cpu排序 或

ps -mp 25812 -o THREAD,tid,time |awk ‘/root/ && $2>50 {print $0}’  输出大于50的线程

java 程序 CPU 100%的解决办法 随笔 第2张

转为16进制

java 程序 CPU 100%的解决办法 随笔 第3张

执行 kill -3  15812 生成进程当前线程信息--javacore

通过cat javacore |grep 0x6591 -C10 查看线程具体内容

java 程序 CPU 100%的解决办法 随笔 第4张

 

###win

生成javacore  

jstack -l -r -pid

jsp文件 IBMJDK

<%
com.ibm.jvm.Dump.JavaDump();
%> 

放到nchome/hotwebs/nc_web/ 访问27.0.0.1:9081/javacore.jsp 即可

使用processexplorer  查到 TID 转为16进制 在javacore中查找堆栈 如下连接下载

https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer

 

javacore 及heappdump 生成下载地址 https://blog.csdn.net/zfr629/article/details/52993813

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄