分析Java代码问题的最有效的工具仍然是java thread dump,对于support人员来说尤其重要,原因:
- 任何操作系统平台下都可以使用。
- 在多数情况下,可以在生产环境中使用。
- 和操作系统提供的工具相比,java thread dump给出的信息是直白的,直接对应到应用代码。
- 它对被分析的系统干扰很小,因此能反应真实的问题。而其它很多profiling或Instrument工具本身对JVM运行有很大的干扰,经常不能暴露出真正的问题,而且这种工具不能用于生产系统。
收集thread dump
1. Unix/Linux:
kill -3 <JVM pid>,对于在当前控制台运行的JVM,在console窗口敲Ctrl-\
2. 在Solaris OS下:
<ctrl>-’’ (Control-Backslash)
kill -QUIT <pid>
3. 在AIX上用IBM的JVM:
内存溢出时默认地会产生javacore文件(关于cpu的)和heapdump文件(关于内存的)。如果没有参照下列方法:
选择一个cluster成员,设置环境变量:
export IBM_HEAPDUMP=true
export IBM_HEAP_DUMP=true
export IBM_HEAPDUMP_OUTOFMEMORY=true
export IBM_HEAPDUMPDIR=<directory path>
用set命令检查参数设置,确保没有设置DISABLE_JAVADUMP
4. 在Windows下:
可以在JVM的console窗口上敲Ctrl-Break,只能得到当前窗口运行JVM的 thread dump,无法得到后台运行的jvm的thread dump。
根据不同的设置,thread dump会输出到当前控制台上或应用服务器的日志里。为了方便获取threaddump信息,最好将标准输出重定向到一个文件
分享到:
相关推荐
java 线程Dump 分析工具: Java的TDA线程转储分析器是一个用于分析Sun Java VM生成的线程转储和堆信息的小型Swing GUI(目前用1.4测试)。它从提供的日志文件中解析线程转储和类直方图。它提供关于发现的线程转储的...
Java Thread Dump 分析是 Java 应用程序性能优化的重要工具之一。Thread Dump 是 JVM 的一个快照,记录了当前所有线程的状态,包括线程的 ID、名称、状态、锁信息等。通过分析 Thread Dump,可以找到导致 CPU 高的...
Java线程分析工具(TDA)是一款专为Java开发者设计的强大工具,用于解析和理解Java应用程序的线程转储(thread dump)。线程转储是Java虚拟机(JVM)在特定时刻生成的一种快照,其中包含了应用程序中所有活动线程的状态...
在Java虚拟机(JVM)的运行过程中,有时会出现性能问题或者系统挂起的情况,这时候我们需要深入了解线程的运行状态,这就是"IBM thread dump文件分析工具"的作用所在。线程dump文件是JVM在特定时刻生成的一种快照,...
Java内存dump分析和Thread Dump(Java Core)是Java性能调优中的重要环节,它们能帮助开发者定位和解决系统中的各种问题,如内存泄漏、线程阻塞等。下面将详细介绍这两个概念及其分析工具。 首先,Java堆内存dump,...
好用的线程dump分析工具
本篇文章将详细讲解如何使用`javacore`和`heapdump`分析工具,特别是针对Websphere环境的`ha`和`jca`工具,以及如何使用JDK1.6来打开和解析这些文件。 首先,`javacore`文件是Java虚拟机(JVM)在遇到特定事件(如...
Java线程Dump分析工具jstack是Java开发人员和运维人员常用的诊断工具,它能够帮助我们了解Java应用程序中线程的状态,以及线程的执行轨迹。本文将深入解析jstack的使用方法及其在不同场景下的应用。 jstack命令的...
需要本地安装JDK并配置JAVA环境变量。 之后使用java -jar jca469.jar即可打开工具。 直接将dump出来的堆栈信息,打开,便可分析。
IBM提供的分析javacore和dump的内存分析工具,非常好用。 分析线程情况 JavaCore 或 ThreadDump文件,即线程的映像,用来分析线程资源锁等情况, 可参考:...
IBM Thread and Monitor Dump Analyzer for Java(简称 jca)。它可以识别Java线程中的挂起,死锁,资源竞争,和瓶颈。 使用方法: java -Xmx1000m -jar jca456.jar
IBM提供了强大的内存分析工具,例如VisualVM和MAT (Memory Analyzer Tool),它们能有效地解析heap dump文件,展示内存分配、对象存活状态、类装载信息等关键数据。这些工具不仅支持对IBM J9 JVM产生的heap dump,也...
TDA(Thread Dump Analyzer)是一款强大的Java线程分析工具,它能够帮助开发者深入理解应用在运行时的线程状态,包括线程的阻塞情况、等待资源、死锁等问题。下面将详细介绍TDA的使用方法、功能以及它如何帮助我们...
Java线程转储(Thread Dump)是诊断Java应用程序性能问题和异常情况的重要工具。它提供了一个运行中的Java应用中所有线程的快照,详细显示每个线程的状态、堆栈跟踪以及线程名称。线程状态包括RUNNABLE、BLOCKED、...
IBM Thread and Monitor Dump Analyzer for Java(简称 jca)。它可以识别Java线程中的挂起,死锁,资源竞争,和瓶颈。 使用方法: java -Xmx1000m -jar jca456.jar
Java内存分析是优化应用程序性能的关键环节,特别是在处理大型或资源密集型应用时。...通过深入理解和熟练运用这个工具,我们可以更有效地诊断和修复内存相关的问题,为我们的Java应用带来更好的运行体验。
IBM最新java threaddump 分析工具 java -jar jca.jar -Xmx1024m jca.jar
JAVA线程dump的分析 JAVA线程dump是指在JAVA程序中,当前线程的状态和调用...本文中,我们讨论了如何生成和分析JAVA线程dump,包括了解线程状态、调用堆栈和Monitor的状态等,以及在实际运行中需要注意的一些问题。
Java Thread Dump Analyzing
IBM Thread and Monitor Dump Analyzer for Java 是一款专门针对Java应用程序的诊断工具,主要用于解析和分析Java核心转储(javacore)文件。这类文件通常在Java应用程序遇到问题,如挂起、内存溢出或异常时自动生成...