JVMjstack 查询占用最大资源线程|排查死循环等
Posted 宋文涛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JVMjstack 查询占用最大资源线程|排查死循环等相关的知识,希望对你有一定的参考价值。
jstack 应用
首先通过:ps -ef|grep java
得到java pid
查看哪个线程占用最多资源:
找出该进程内最耗费CPU的线程,可以使用ps -Lfp pid或者ps -mp pid -o THREAD, tid, time或者top -Hp pid 命令查看这个进程下面的所有线程占用情况。
发现线程21742占用最多。
将刚刚发现占用cpu最多的线程id(21742)换算成16进制
命令:printf
"%x\\n"
21742 的到 线程值 :54ee
查看jstack 生成的文件:
jstack pid | grep tid
如:jstack 21711 | grep 54ee
下面可以看出是哪行代码导致,查看那行代码发现有死循环。跟踪解决完毕。
以上是关于JVMjstack 查询占用最大资源线程|排查死循环等的主要内容,如果未能解决你的问题,请参考以下文章