1

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

4

1 回答 1

0

尝试这个 -

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

jstack -l >

在哪里

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

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

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

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

于 2017-11-22T10:26:01.877 回答