JDK内置工具使用
一、javah命令(CHeaderandStubFileGenerator)
二、jps命令(JavaVirtualMachineProcessStatusTool)
三、jstack命令(JavaStackTrace)
四、jstat命令(JavaVirtualMachineStatisticsMonitoringTool)
五、jmap命令(JavaMemoryMap)
六、jinfo命令(JavaConfigurationInfo)
七、jconsole命令(JavaMonitoringandManagementConsole)
八、jvisualvm命令(JavaVirtualMachineMonitoring,Troubleshooting,andProfilingTool)
九、jhat命令(JavaHeapAnalyseTool)
十、Jdb命令(TheJavaDebugger)
1、介绍
jstack用于打印出给定的java进程ID或corefile或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式:
jstack[-l]pid
如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的javastack和nativestack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的javastack和nativestack的信息,如果现在运行的java程序呈现hung的状态,jstack是非常有用的。
2、命令格式
jstack[option]pid
jstack[option]executablecore
jstack[option][server-id@]remote-hostname-or-IP
3、常用参数说明
1)、options:
executableJavaexecutablefromwhichthecoredumpwasproduced.
(可能是产生coredump的java可执行程序)
core将被打印信息的coredump文件
remote-hostname-or-IP远程debug服务的主机名或ip
server-id唯一id,假如一台主机上多个远程debug服务
2)、基本参数:
-F当’jstack[-l]pid’没有相应的时候强制打印栈信息
-l长列表.打印关于锁的附加信息,例如属于java.util.concurrent的ownablesynchronizers列表.
-m打印java和nativec/c++框架的所有栈信息.
-h|-help打印帮助信息
pid需要被打印配置信息的java进程id,可以用jps查询.
4、使用示例
<!--EndFragment-->
分享到:
相关推荐
- jstack(Java Stack Trace)用于生成线程堆栈信息,用于诊断线程问题。 - jinfo(Java Configuration Info)用于显示虚拟机配置信息。 - jstat(JVM Statistics Monitoring Tool)用于监控JVM的统计信息。 通过...
5. **jstack (Stack Trace for Java)** jstack用于生成Java线程的堆栈跟踪,帮助开发者了解线程的状态,如阻塞、等待等,有助于识别死锁和其他线程问题。 6. **JConsole** JConsole是一个图形界面工具,可以直观...
jstack(Stack Trace for Java)命令用于显示虚拟机的线程快照,可以帮助开发者和运维人员诊断和解决线程相关的问题。jstack命令的基本语法如下: jstack [options] [vmid] 其中,options是可选参数,vmid是要监控...
4. **jstack (Java Thread Stack Trace)**: jstack用于查看Java进程中的所有线程堆栈信息,帮助我们定位线程死锁、阻塞等问题。 5. **jmap (Memory Map for Java)**: jmap用于查看JVM占用物理内存的状态,包括...
jstack - JVM Stack Trace Tool **用途**:显示虚拟机的线程栈信息,帮助分析线程死锁等问题。 **命令格式**: ``` jstack [-l] pid ``` **执行示例**: ``` jstack 3700 ``` **输出解释**:输出当前进程所有...
二、jstack (Java Thread Stack Trace) jstack用于查看JVM的线程堆栈信息,帮助诊断线程阻塞或死锁问题。基本语法: ``` jstack [option] pid ``` 选项通常包括: - `-l`:详细输出,包括锁信息。 例如,`jstack -l...
Jstack全称为Java Thread Stack Trace,它是Java开发人员用于诊断线程问题的重要工具。 Jstack分析主要涉及以下几个方面: 1. **线程堆栈信息**:通过Jstack,我们可以获取到Java虚拟机(JVM)中所有线程的堆栈...
- **常用命令**:`jstack pid > stacktrace.txt`。 ##### 7. VisualVM:多合一故障处理工具 - **功能**:VisualVM是一个综合性的监控和故障排除工具,支持多种视图,包括CPU使用率、内存使用情况等。 - **特性**: ...
4. **jstack(Java Thread Stack Trace)** `jstack`工具用于打印Java进程的线程堆栈跟踪,这对于分析死锁、线程阻塞等问题非常有用。通过`jstack <pid>`,你可以看到每个线程的当前状态(如RUNNABLE、WAITING、...
6. **jstack(Java Thread Stack Trace)**:提供Java线程堆栈信息,用于查看线程状态,分析死锁等问题。 7. **VisualVM**:这是一个集成的故障处理工具,包含多种功能,如性能监视、内存分析、线程分析等,是...
其次,堆栈跟踪(Stack Trace)是另一种重要的定位手段。当Java程序抛出异常时,会打印出堆栈跟踪,显示异常发生时的方法调用顺序。这有助于我们追踪到问题的具体代码行,了解异常的起源。此外,通过JDK的`jstack`...
堆栈生成.NET托管进程线程转储的简单实用程序(类似于Java jstack),即所有托管线程的当前stacktrace。 基于可从获得的Managed Stack Explorer中的代码。 要运行它,请使用nstack.exe <PID> 。 它将所有托管线程的...
6. **jstack(Stack Trace for Java)**: jstack用于打印Java线程的堆栈跟踪信息,这对于诊断线程阻塞和死锁问题非常有用。通过`jstack <pid>`,你可以看到每个线程当前所处的方法调用栈,从而找出可能导致问题的...
package org.ccgogoing.study.stacktrace; public class MyTest { Object obj1 = new Object(); Object obj2 = new Object(); public void fun1() { synchronized (obj1) { fun2(); } } public void fun2...
- **命令行方式**: 使用`jstack`命令可以输出指定Java进程的线程堆栈信息。 - `jstack <pid>`: 输出指定PID的Java进程的所有线程堆栈信息。 - **编程方式**: 通过`Thread.getStackTrace()`方法获取当前线程的堆栈...
- JSTACK(Stack Trace for Java):用于显示虚拟机的线程快照,可以用来定位线程的死锁和性能问题。 - JHAT(JVM Heap Dump Browser):这是一个分析heapdump文件的工具,它能建立一个HTTP/HTML服务器,允许用户在...