jstack命令(Java Stack Trace)

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

1、介绍

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

【编辑推荐】

  1. jmap命令(Java Memory Map)
  2. Java中使用JDBC连接数据库例程与注意事项
  3. 同一段程序在Java和C中的不同结果
  4. Java中Runnable和Thread的区别
  5. Java对存储过程的调用方法

 

责任编辑:林师授 来源: fenglibing的博客
相关推荐

2009-12-17 10:44:36

思科路由器

2010-08-06 13:30:31

FlexBuilder

2017-06-09 15:17:48

Java线程jstack

2017-03-26 23:16:05

Java线程jstack

2021-09-27 13:01:52

线程阻塞排查

2009-08-25 15:47:45

C#运用Trace语句

2016-12-30 14:56:06

Native进程Trace

2019-11-06 16:21:25

ArrayListLinkedListVector

2019-04-03 09:00:30

Azure Stack微软Azure

2021-10-06 09:46:17

trace-cmd追踪内核Linux

2020-08-28 09:50:12

Java程序员语言

2021-03-12 09:13:47

Java数据结构算法

2009-07-29 14:12:45

ASP.NET tra

2021-07-05 10:00:31

JavaStack基础

2023-07-28 14:39:37

StackOverflowAI

2020-08-10 14:46:30

JavaScriptStack

2010-03-15 14:24:59

StackHeapJVM

2022-03-26 16:51:27

Node.jstrace架构

2022-08-06 08:27:41

Trace系统机票前台微服务架构

2012-08-06 08:50:05

Go语言
点赞
收藏

51CTO技术栈公众号