jstack 命令

NAME
       jstack - Prints Java thread stack traces for a Java process, core file, or remote debug server.

SYNOPSIS
       jstack [ options ] pid

       jstack [ options ] executable core

       jstack [ options ] [ server-id@ ] remote-hostname-or-IP

参数:

     -F 当’jstack [-l] pid’没有相应的时候强制打印栈信息,如果直接jstack无响应时,用于强制jstack,一般情况不需要使用。
     -l 长列表. 打印关于锁的附加信息,例如属于java.util.concurrent的ownable synchronizers列表,会使得JVM停顿得长久得多(可能会差很多倍,比如普通的jstack可能几毫秒和一次GC没区别,加了 -l 就是近一秒的时间),-l 建议不要用。
     -m 打印java和native c/c++ 框架的所有栈信息.可以打印JVM的堆栈,显示上Native的栈帧,一般应用排查不需要使用。

示例:

jstack pid

 

查看线程cpu占用:

top -H -p  pid //找到占用较高的线程id

python -c "print hex(线程id)" //转换成16进制的地址

jstack pid |grep  -A30 16进制地址

赠人玫瑰,手有余香,如果我的文章有幸能够帮到你,麻烦帮忙点下右下角的推荐,谢谢!

作者: imcati

出处: https://www.cnblogs.com/imcati/>

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接

原文地址:https://www.cnblogs.com/imcati/p/11542782.html