java 程序 CPU 100%的解决办法

###Linux环境 

top查到25812进程的CPU高

根据进程的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的线程

转为16进制

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

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

 

###AIX

topas 

 

 

‭ps -mp 4194678 -o THREAD,tid,time |awk '$6 > 30 {print $0}' >> text3

第一列加了16进制之后

text3:
10F037F‬ - - - 17761151 R 43 110 0 - 400000 - - - 17761151 -
‭11A0107‬ - - - 18481415 R 37 106 0 - 400000 - - - 18481415 -
‭1740211‬ - - - 24379921 R 41 109 0 - 400000 - - - 24379921 -
‭2200091‬ - - - 35651729 R 38 107 0 - 400000 - - - 35651729 -
‭2240133‬ - - - 35914035 R 39 108 0 - 400000 - - - 35914035 -
USER PID PPID TID ST CP PRI SC WCHAN F TT BND COMMAND

 

 

 10F037F‬ 使用了43%

 

 

 

 

 

###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

各OS CPU使用率高分析

http://www.blogjava.net/jesson2005/articles/416278.html?opt=admin

转载于:https://www.cnblogs.com/qtong/p/10756247.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值