`

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

  • 大小: 114.9 KB
分享到:
评论

相关推荐

    jvm常用命令工具

    ### jvm常用命令工具 #### 一、概述 在程序运行过程中,经常会出现各种各样的问题,例如性能瓶颈、内存泄漏、死锁等。为了快速定位并解决问题,我们需要收集多种类型的运行时信息,包括但不限于系统日志、堆转储...

    JAVA JVM内存监控工具总结

    5. **jstack (Stack Trace for Java)** jstack用于生成Java线程的堆栈跟踪,帮助开发者了解线程的状态,如阻塞、等待等,有助于识别死锁和其他线程问题。 6. **JConsole** JConsole是一个图形界面工具,可以直观...

    JVM命令行监测工具详解

    二、jstack (Java Thread Stack Trace) jstack用于查看JVM的线程堆栈信息,帮助诊断线程阻塞或死锁问题。基本语法: ``` jstack [option] pid ``` 选项通常包括: - `-l`:详细输出,包括锁信息。 例如,`jstack -l...

    jvm工具、参数调优&调试技巧

    - **常用命令**:`jstack pid > stacktrace.txt`。 ##### 7. VisualVM:多合一故障处理工具 - **功能**:VisualVM是一个综合性的监控和故障排除工具,支持多种视图,包括CPU使用率、内存使用情况等。 - **特性**: ...

    使用java自带工具监控jvm运行状态

    4. **jstack(Java Thread Stack Trace)** `jstack`工具用于打印Java进程的线程堆栈跟踪,这对于分析死锁、线程阻塞等问题非常有用。通过`jstack <pid>`,你可以看到每个线程的当前状态(如RUNNABLE、WAITING、...

    Tomcat教程-JVM相关工具.docx

    4. **jstack (Java Thread Stack Trace)**: jstack用于查看Java进程中的所有线程堆栈信息,帮助我们定位线程死锁、阻塞等问题。 5. **jmap (Memory Map for Java)**: jmap用于查看JVM占用物理内存的状态,包括...

    jvm工具、参数调优&调试技巧.doc

    6. **jstack(Java Thread Stack Trace)**:提供Java线程堆栈信息,用于查看线程状态,分析死锁等问题。 7. **VisualVM**:这是一个集成的故障处理工具,包含多种功能,如性能监视、内存分析、线程分析等,是...

    Java线上故障排查方案.pdf

    3. 终端命令监控(Terminal Command Monitoring):通过执行特定的命令,例如使用jps、jmap、jstack、jinfo、jstat等JDK自带工具,可以获取Java虚拟机(JVM)的运行状态信息。 4. 内存分析工具(Memory Analysis ...

    基于JVM性能监控命令介绍

    jstack(Stack Trace for Java)命令用于显示虚拟机的线程快照,可以帮助开发者和运维人员诊断和解决线程相关的问题。jstack命令的基本语法如下: jstack [options] [vmid] 其中,options是可选参数,vmid是要监控...

    JVM调优前戏之JDK命令行工具.docx

    jstack是JVM Stack Trace的缩写,用于生成线程dump。jstack可以生成当前线程的堆栈跟踪信息,并将其保存到文件中,以便后续分析。 jstack的命令格式为: ``` jstack [options] ``` 例如: ``` $ jstack -l 1234 ``...

    imb jca436

    Jstack全称为Java Thread Stack Trace,它是Java开发人员用于诊断线程问题的重要工具。 Jstack分析主要涉及以下几个方面: 1. **线程堆栈信息**:通过Jstack,我们可以获取到Java虚拟机(JVM)中所有线程的堆栈...

    虚拟机监控工具详请.rar

    6. **jstack(Stack Trace for Java)**: jstack用于打印Java线程的堆栈跟踪信息,这对于诊断线程阻塞和死锁问题非常有用。通过`jstack <pid>`,你可以看到每个线程当前所处的方法调用栈,从而找出可能导致问题的...

    JDK监控和故障处理工具

    - JSTACK(Stack Trace for Java):用于显示虚拟机的线程快照,可以用来定位线程的死锁和性能问题。 - JHAT(JVM Heap Dump Browser):这是一个分析heapdump文件的工具,它能建立一个HTTP/HTML服务器,允许用户在...

    Java问题定位技术的文档

    JVisualVM(JDK自带)和VisualVM是常用的Java性能分析工具,它们能提供内存、CPU、线程等多维度的监控数据。如果遇到内存泄漏,可以使用MAT(Memory Analyzer Tool)进行深度分析。此外,JMX(Java Management ...

    java问题定位技术+性能优化

    - **命令行方式**: 使用`jstack`命令可以输出指定Java进程的线程堆栈信息。 - `jstack <pid>`: 输出指定PID的Java进程的所有线程堆栈信息。 - **编程方式**: 通过`Thread.getStackTrace()`方法获取当前线程的堆栈...

    详解Java线程堆栈

    jstack命令是一个命令行工具,能够将Java应用程序的线程堆栈信息dump出来,以便进行分析。VisualVM工具是一个图形化的工具,能够实时监控Java应用程序的线程堆栈信息,并提供了丰富的分析功能。 在实际开发中,线程...

Global site tag (gtag.js) - Google Analytics