排查Java高CPU占用原因

简介: top命令发现某个进程占用了100%的CPU 通过ps命令,进一步确定哪个进程出了问题 再查看线程占用CPU的列表# ps -mp PID -o THREAD,tid,time...

top命令发现某个进程占用了100%的CPU
这里写图片描述
通过ps命令,进一步确定哪个进程出了问题
这里写图片描述
再查看线程占用CPU的列表

# ps -mp PID -o THREAD,tid,time

这里写图片描述
找到占用CPU最高的线程,查看TID,将其转换为16进制格式

# printf "%x\n" TID

这里写图片描述
而后查看堆栈信息

# jstack PID |grep 16进制TID -A 60

这里写图片描述
这里报错是因为tomcat进程运行用户为tomcat,而当前以root用户查看堆栈信息
这里写图片描述
因此切换为tomcat执行命令
这里写图片描述

# sudo -u tomcat  jstack 32072 |grep 1541 -A 60
# sudo -u tomcat jstack -J-d64 -m 32072
目录
相关文章
|
1月前
|
监控 Java 索引
cpu使用率过高和jvm old占用过高排查过程
cpu使用率过高和jvm old占用过高排查过程
36 2
|
3月前
|
SQL 网络协议 Java
Java开发者的必备技能:抓包工具排查问题
Java开发者的必备技能:抓包工具排查问题
|
5月前
|
Java Linux
linux中找到最耗CPU的那段Java代码
linux中找到最耗CPU的那段Java代码
|
5月前
|
Arthas 测试技术
Arthas排查生产环境CPU飚高问题
Arthas排查生产环境CPU飚高问题
Arthas排查生产环境CPU飚高问题
|
21天前
|
缓存 Java C#
【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍(一)
【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍
60 0
|
21天前
|
监控 网络协议 NoSQL
java线上排查OOM内存溢出
java线上排查OOM内存溢出
21 0
|
3月前
|
Java 测试技术 数据库
一次java.lang.NullPointerException的排查之旅
【1月更文挑战第6天】一次java.lang.NullPointerException的排查之旅
|
3月前
|
缓存 架构师 算法
Java内存溢出如何解决,Java oom排查方法,解决办法
在Java开发过程中,有效的内存管理是保证应用程序稳定性和性能的关键。不正确的内存使用可能导致内存泄露甚至是致命的OutOfMemoryError(OOM)。
|
3月前
|
缓存 架构师 算法
Java内存溢出如何解决,Java oom排查方法,10个定位解决办法
在Java开发过程中,有效的内存管理是保证应用程序稳定性和性能的关键。不正确的内存使用可能导致内存泄露甚至是致命的OutOfMemoryError(OOM)。
|
3月前
|
监控 Java Linux
疯狂飙高!怎么排查CPU导致系统反应缓慢的问题?
疯狂飙高!怎么排查CPU导致系统反应缓慢的问题?