网站首页 > 云服务器 正文
目录
Linux系统java进程CPU占用过高
1.通过top命令查看,CPU占用高的进程
top
2.查看该进程下线程占用CPU情况
# 12133-进程号 top -Hp 12133
这里的PID是线程ID,可以看到,有几个线程CPU占用过高。
3.将线程ID转成16进制
printf '0x%x\n' 5421
4.通过jstack命令查看线程堆栈
# 12113-进程号 # 0xc81-上面查到的16进制线程号 jstack 12113|grep 0xc81 -A 20
通过堆栈信息,找到具体的代码,分析原因。
Linux如何定位Java进程CPU利用率过高原因
首先通过Top命令查看占用CPU较高的进程PID,执行Top之后按1可以查看每个核占用比例
top
这里由于我是用的虚拟机,即使我的Java进程占用CPU很高也只是占的虚拟机的,而对整个机器的CPU来说占的并不高。
这里我们找到了pid=7957
然后我们在根据pid找出占用CPU过高的线程
top -H -p 7957
然后根据线程id=7958使用strace -p命令查看调用情况
发现系统在不停的打印1然后把线程十进制的线程id=7958转换为十六进制
最后抓取堆栈信息,查看代码位置
我看找到了线程7958,并且定位到了Test.main第四行,我们打开代码看看
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持开源网www.osweb.cn。
猜你喜欢
- 2021-07-21 利用zabbix监控ogg进程(Windows平台)
- 2021-07-21 利用zabbix监控ogg进程(Linux平台)
- 2021-07-16 java连接mysql数据库 java连接sql server数据库
你 发表评论:
欢迎- 12-06如何自定义Excel2003散点图的数据标志
- 12-06excel2007的sheet不见了怎么办
- 12-06Excel2010中进行设置取消密码的操作方法
- 12-06excel怎样使用IMSUM函数
- 12-06EXCEL快速输入数据
- 12-06excel中设置次要坐标轴的教程
- 12-06excel2003冻结窗格的教程
- 12-06Excel如何输入上标下标
- 开源分类
- 最近发表
- 开源网标签
本文暂时没有评论,来添加一个吧(●'◡'●)