Java应用CPU占用100%原因分析
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
在linux环境下部署的应用,有时候出于各种原因,出现cpu占用100%的情况。这时候,就需要快速分析定位cpu占用的原因。
通常,通过linux系统的top命令,可以看出具体哪个进程占用了过多的cpu资源。但如果发现是java进程,那么就需要进一步分析是java进程中的具体哪个线程出现了问题。
1、确定Java应用进程编号
使用 jps
或 ps -ef|grep java
命令确定想要分析的应用的进程编号
2、查看Java应用中线程CPU占比
使用top -p 101973 -H
命令查看指定进程下的线程cpu占用比例,分析是具体哪个线程占用率过高,其中 101973 就是通过第一步确定下来的进程编号
3、查看线程信息
从中选择占比较高的线程的编号(PID),并将该PID转换为16进制。通过jstack 101973 |grep -A 10 0x5bd8
通过该命令可以分析出线程的具体信息,再通过相应的解决方法来解决cpu占用过高的问题。
附:巧转进制
PID的进制转换可以使用程序员计算器,这里也提供另外一个的方法:通过chrome浏览器的JavaScript调试控制台进行转换。
在chrome浏览器中按F12打开开发者工具,切换至Console,定义一个变量a,再通过a的字符串转换函数转换至16进制。
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献2条内容
所有评论(0)