JVM定位占用cpu过高堆栈信息(Linux)
来源:互联网 发布:东京工业大学 知乎 编辑:程序博客网 时间:2024/05/30 04:30
第一步:使用top命令查看占用cpu过高进程,获取PID(这里的pid=5947)
top
PID USER PR NI VIRT SHR S %CPU %MEM TIME+ COMMAND 5947 root 20 0 1794m 11m S 0.3 13.6 32:43.55 java 1176 root 20 0 185m 3608 S 0.1 0.2 7:53.12 vmtoolsd 1923 root 20 0 134m 1040 S 0.0 0.5 3:12.59 redis-server
第二步:使用top -Hp命令获取进程中线程信息(其中H:线程可见状态切换,p表示pid),这里最高的线程pid=5958
[root@agx ~]# top -Hp 5947top - 10:31:55 up 4 days, 20:44, 1 user, load average: 0.00, 0.00, 0.00Tasks: 47 total, 0 running, 47 sleeping, 0 stopped, 0 zombieCpu(s): 0.3%us, 0.2%sy, 0.0%ni, 99.5%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%stMem: 1922208k total, 1795408k used, 126800k free, 368404k buffersSwap: 10485756k total, 1796k used, 10483960k free, 806448k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 5958 root 20 0 1794m 256m 11m S 0.3 13.6 4:47.17 java 5968 root 20 0 1794m 256m 11m S 0.3 13.6 5:14.80 java 5947 root 20 0 1794m 256m 11m S 0.0 13.6 0:00.00 java 5948 root 20 0 1794m 256m 11m S 0.0 13.6 0:01.24 java
第三步:获取最高的线程pid(十进制,装换成十六进制),这里用python -c "print hex(线程PID)"
[root@agx ~]# python -c "print hex(5958)"0x1746
第四步:查看线程堆栈信息,jstack pid(进程pid) | grep 线程pid</span>
[root@agx ~]# jstack 5947 | grep -C10 0x1746at java.lang.reflect.Method.invoke(Method.java:606)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)"VM Thread" prio=10 tid=0x00007f9448064000 nid=0x173f runnable"GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f944801e800 nid=0x173d runnable"GC task thread#1 (ParallelGC)" prio=10 tid=0x00007f9448020800 nid=0x173e runnable"VM Periodic Task Thread" prio=10 tid=0x00007f944809b800 nid=0x1746 waiting on conditionJNI global references: 234
0 0
- JVM定位占用cpu过高堆栈信息(Linux)
- JVM定位占用cpu过高堆栈信息(Linux)
- ThreadMXBean定位CPU占用过高
- Linux中如何精准定位JVM线程CPU过高
- ThreadMXBean定位CPU占用过高JSP
- 如何定位CPU占用过高问题
- JAVA进程CPU占用过高快速定位
- 关于JVM介绍以及CPU占用过高的问题定位及解决实战经验
- linux下查出cpu占用过高线程
- linux 分析进程占用CPU过高
- linux主机cpu 占用过高分析
- 如何定位占用oracle数据库cpu过高的sql
- 如何定位占用oracle数据库cpu过高的sql
- 定位cpu占用过高的线程和对应的方法
- JVM CPU资源占用过高的问题排查
- 关于JVM CPU资源占用过高的问题排查
- 找出占用cpu最高的堆栈信息
- myeclipse 优化(解决CPU占用过高)
- java内部类
- navicat工具 快捷键 -- Mysql
- liferay初体验
- 程序识别MySQL数据库中文的问题
- 2015闰秒对于SuSE产品的影响概述
- JVM定位占用cpu过高堆栈信息(Linux)
- java接口 笔记
- LeetCode Set Matrix Zeroes
- SharedPreferences总结
- java抽象类 笔记
- 对于移动端浏览器touch事件的研究总结(4)判断手指滑动方向
- FZU1894 志愿者选拔(队列) ~TLE
- POJ 2243 Knight Moves A*
- 12563 - Jin Ge Jin Qu hao(DP)