java - 什么时候应该为 JVM 获取线程转储

标签 java jvm thread-dump jstack

我正在阅读有关Thread Dumps 的概念,并找到了多种获取线程转储的方法,但没有文章提到应该获取转储的依据/问题/原因。我们在针对 JVM 的特定服务器上执行负载测试,并在观察到高 CPU 使用率或占用线程时获取线程转储。它是否正确 ?有人可以阐明什么时候应该正常或在任何负载测试期间进行线程转储的原因。

我们使用jstack 命令来捕获转储:

/app/jdk/jdk1.7.0_111/bin/jstack -l <ProcessID> > <PathToSaveTheFile>

TIA。

最佳答案

线程转储用于事后调试。 IMO,你所做的是正确的。我看不出在正常情况下进行倾倒的理由。

关于java - 什么时候应该为 JVM 获取线程转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48059007/

相关文章:

java - 为什么最大堆在运行时发生变化?

scala - 我该如何管理案例类的构造函数?

java.awt.Frame.setBackground(Color arg0) 不显示粉红色

java - Grails域类字符串列表不存在

java - 远程访问hbase

java - 如何将 Jython 文件导入 Groovy?

java - 找不到构建路径错误的具体原因(Eclipse)

java - Tomcat 线程转储

java - 无需重新启动即可生成 Java 线程转储。