概述
找到JAVA进程pid
ps -ef|grep java或则jps -mlv
找进行下耗时的线程TID
使用top -Hp pid可以查看某个进程的线程信息 -H 显示线程信息,-p指定pid
top -Hp 10906 查看最耗时的 TID即线程id
printf "%xn" [tid] 转成16进制
java中的线程类相关信息
jstack 线程ID 可以查看某个线程的堆栈情况,特别对于hung挂死的线程
jstack [pid] | grep [tid] 特定线程信息
jstack -l [pid] 列出所有线程信息。
jstack
jstack是java虚拟机自带的一种堆栈跟踪工具。用于生成java虚拟机当前时刻的线程快照。线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。
PS :
在实际运行中,往往一次 dump的信息,还不足以确认问题。建议产生三次 dump信息,如果每次 dump都指向同一个问题,我们才确定问题的典型性。也就是多进行几次线程快照,观察变化,查看问题所在。
最后
以上就是曾经水池为你收集整理的linux上查看java最耗时的线程信息的全部内容,希望文章能够帮你解决linux上查看java最耗时的线程信息所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复