每日一博 | 详解 Java 线程问题诊断工具 Thread Dump
摘要:Thread Dump是非常有用的诊断Java应用问题的工具。 本文分享自华为云社区《调试排错 - Java 线程分析之线程Dump分析》,作者:龙哥手记。 Thread Dump是非常有用的诊断Java应用问题的工具。每一个Java虚拟机都有及时生成所有线程在某一点状态的thread-dump的能力,虽然各个 Java虚拟机打印的thread dump略有不同,但是 大多都提供了当前活动线程的快照,及JVM中所有Java线程的堆栈跟踪信息,堆栈信息一般包含完整的类名及所执行的方法,如果可能的话还有源代码的行数。 Thread Dump特点 能在各种操作系统下使用; 能在各种Java应用服务器下使用; 能在生产环境下使用而不影响系统的性能; 能将问题直接定位到应用程序的代码行上; Thread Dump抓取 一般当服务器挂起,崩溃或者性能低下时,就需要抓取服务器的线程堆栈(Thread Dump)用于后续的分析。在实际运行中,往往一次 dump的信息,还不足以确认问题。为了反映线程状态的动态变化,需要接连多次做thread dump,每次间隔10-20s,建议至少产生三次 dum...