java cpu占用100%分析

主要思路是通过ps分析java进程及相应的占用高cpu的java线程,然后看该线程在哪里一直运行占用cpu 


1:打印用户、进程id、父进程id、线程id(对于此次很重要)、运行时间、CPU使用率、启动命令并按CPU使用率排序。

ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu 

504      29046  1163 24056 00:00:01  0.0 /usr/java/bin/java -Djava.util.logging.config.file=/opt/apache-tomcat-7.0.39/conf/logging.properties -
504      29046  1163 29425 06:14:02  6.7 /usr/java/bin/java -Djava.util.logging.config.file=/opt/apache-tomcat-7.0.39/conf/logging.properties -
504      29046  1163 29429 06:14:37  6.7 /usr/java/bin/java -Djava.util.logging.config.file=/opt/apache-tomcat-7.0.39/conf/logging.properties -
504      29046  1163 29432 06:14:45  6.7 /usr/java/bin/java -Djava.util.logging.config.file=/opt/apache-tomcat-7.0.39/conf/logging.properties -
504      29046  1163 16577 06:13:47  8.9 /usr/java/bin/java -Djava.util.logging.config.file=/opt/apache-tomcat-7.0.39/conf/logging.properties -
504      29046  1163 24967 06:14:13  9.4 /usr/java/bin/java -Djava.util.logging.config.file=/opt/apache-tomcat-7.0.39/conf/logging.properties -
504      29046  1163 19293 06:13:13 31.3 /usr/java/bin/java -Djava.util.logging.config.file=/opt/apache-tomcat-7.0.39/conf/logging.properties -


2:讲线程ID转换为16进制,

printf "%x\n" 19293    ==> 4b5d


3:使用jstack分析该线程

jstack 29046 | grep  4b5d -A 40


步骤1也可以通过先执行top,再ps来分析 ps -mp 29046 -o THREAD,tid,time


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值