无法使用Jstack进行线程转储。

时间:2015-03-04 12:38:49

标签: jstack

我想把我的java - Jmeter机器的线程转储。在我的Jmeter机器中,我可以看到许多螺纹在测试时间后没有关闭和卡住。为了调试更多,我尝试进行线程转储(使用“jstack -PID>> Fileae.txt”命令)。但是这个命令在24小时后仍在运行,尽管这创建了一个空文本文件。 为什么我无法进行该java进程的线程转储。

1 个答案:

答案 0 :(得分:0)

试试这个 -

'jstack'是捕获线程转储的有效命令行工具。 jstack工具在JDK_HOMEbin文件夹中提供。以下是您需要发出以捕获线程转储的命令:

jstack -l>

,其中

pid:是应用程序的进程ID,应捕获其线程转储

file-path:是写入线程转储的文件路径。 例如:

jstack -l 37320> /opt/tmp/threadDump.txt 根据示例,将在/opt/tmp/threadDump.txt文件中生成进程的线程转储。

自Java 5以来,Jstack工具包含在JDK中。如果您运行的是旧版本的Java,请考虑使用其他选项。