我是靠谱客的博主 曾经水池,最近开发中收集的这篇文章主要介绍linux上查看java最耗时的线程信息,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

找到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最耗时的线程信息所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部