定位JVM中占CPU较高的堆栈
来源:互联网 发布:苹果手机怎么投屏mac 编辑:程序博客网 时间:2024/04/29 16:03
疑问:
在linux中,使用top命令,发现某java进程占用CPU较高,如何定位到是那个线程,执行哪些代码导致的呢?
第一步:找到占用CPU较高的进程号,使用top命令查看。
从上图可以看到,java进程号为759的进程占用cpu特别高。
第二步:查看当前进程759所有线程占用cpu情况
使用top –Hp pid 来查看,shift + t命令展示或关闭线程情况。从上图,可以看出760的java线程占用CPU较高。
第三步:查看760线程的堆栈信息。
使用命令 jstack 759 | grep –A 100x2f8
其中jstack是java命令,可以在JDK bin目录找到该命令。759为上述java进程号,-A表示查询到所在行后10行。0x2f8是java线程760转化为十六进制,注意全部转化为小写。如上图,打印了java堆栈信息,可以根据堆栈信息,检查代码,查找并分析占用CPU过高原因。
0 0
- 定位JVM中占CPU较高的堆栈
- linux环境定位占cpu较高的java线程
- SQLServer 定位CPU使用较高的用户和SQL
- JVM高CPU定位脚本
- liunx服务器java单进程占cpu较高
- 分析定位占用CPU资源高的JVM线程
- 当发现某个java线程占CPU或内存非常高的时候,你如何定位?
- 获得消耗cpu较高的topsql
- JVM定位占用cpu过高堆栈信息(Linux)
- JVM定位占用cpu过高堆栈信息(Linux)
- 定位CPU高的方法
- oracle占用CPU较高
- WMI Provider Host占用cpu较高的问题
- 怎样定位CPU占用率高的问题
- 定位CPU高消耗的问题
- 找出java多线程占cpu高的问题
- 找出java进程占cpu高的脚本
- JVM CPU高负载的排查办法
- TCP 的那些事儿(下)
- hibernate hibernate4详解
- 易网商机网全站代码-(2014/05/27)
- 环球手机购物网代码-(2014/05/27)
- 设计模式学习日志三:抽象工厂模式 (原文转载)
- 定位JVM中占CPU较高的堆栈
- error: DynamicDataSource is not abstract and does not override abstract method getParentLogger() in
- Saving Files 保存文件
- jsp技术二
- 浅析Java中Ant的使用
- Digital Roots 杭电1013
- 花旗短信联盟 商业版代码-(2014/05/27)
- Share Info
- Cocos2d-x学习笔记(1)