java jvm常用命令工具——jstack命令(Java Stack Trace)

1.介绍

        Stack Trace for Java,用于生成虚拟机当前的线程快照信息,包含每一条线程的堆栈信息。该命令通常用于定位线程停顿原因,当出现线程停顿时,可通过stack查看每个线程的堆栈信息,进而分析停顿原因。

        jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式:

        jstack [-l] pid

        如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hung的状态,jstack是非常有用的。

 

2.命令格式

        jstack [ option ] pid

        jstack [ option ] executable core

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

 

3.常用参数说明

1).options 

        executable Java executable from which the core dump was produced.(可能是产生core dump的java可执行程序)

        core 将被打印信息的core dump文件

        remote-hostname-or-IP 远程debug服务的主机名或ip

        server-id 唯一id,假如一台主机上多个远程debug服务 

2).基本参数

        -F当’jstack [-l] pid’没有响应的时候强制打印堆栈信息

        -l长列表,除堆栈外,显示锁的附加信息,例如属于java.util.concurrent的ownable synchronizers列表.

        -m混合模式,打印java和native c/c++调用的堆栈信息

        -h | -help打印帮助信息

        pid 需要被打印配置信息的java进程id,可以用jps查询

 

4.使用示例


 

文章来源:http://blog.csdn.net/fenglibing/article/details/6411940

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值