JVM 线程监控之 jstack

jdk自带的jstack命令可以查看当前或者JVM中运行的Java进程ID的线程的运行情况和堆栈跟踪,并且可以将当前线程情况输入到文本。使用 jstack -help 命令可以查看jstack的具体用法,如下所示:

Usage:
    jstack [-l] <pid>
        (to connect to running process)
    jstack -F [-m] [-l] <pid>
        (to connect to a hung process)
    jstack [-m] [-l] <executable> <core>
        (to connect to a core file)
    jstack [-m] [-l] [server_id@]<remote server IP or hostname>
        (to connect to a remote debug server)

Options:
    -F  to force a thread dump. Use when jstack <pid> does not respond (process is hung)
    -m  to print both java and native frames (mixed mode)
    -l  long listing. Prints additional information about locks
    -h or -help to print this help message

通过jstack -help命令可以看到jstack有如下用法:jstack [ options ] pid,jstack [ options ] executable core和jstack [ options ] [ server-id@ ] remote-hostname-or-IP。其中options有-F,-m,-l,-h或者-help。pid为要打印的堆栈的Java进程ID,executable为生成核心转储的Java可执行文件,core为要打印堆栈跟踪的核心文件,[ server-id@ ] remote-hostname-or-IP为要远程调试的hostname或者ip地址。下面是options参数的具体介绍:

-h,-help 打印jstack用法的信息
-m 打印Java和本地C/C ++的混合模式堆栈跟踪。
-l 打印有关锁的其他信息,例如拥有的java.util.concurrent ownable同步器的列表。
-F 当jstack [-l] pid 没有响应时,强制堆栈转储。

上面的命令是将进程信息输出到屏幕,除此之外,还可以将堆栈信息输出到文件里,命令为:

jstack [options] > pid.txt

关于更多jstack的用法可以参考官方文档jstack

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值