想在Windows 10中进行线程转储?

时间:2017-07-01 17:16:48

标签: java jdk1.8.0

我想为windows 10机器进行线程转储。我正在使用java version "1.8.0_131"。要获取线程转储,我需要使用jmap命令,然后使用该进程。但在我的JDK中,我没有找到jmap实用程序。即使我在我的机器上试过,我也会收到这样的错误:

C:\Users\Name\Desktop\JavaHeap>jmap
'jmap' is not recognized as an internal or external command,
operable program or batch file.

我的JDk版

C:\Users\Name\Desktop\JavaHeap>java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) Client VM (build 25.131-b11, mixed mode, sharing)

它似乎也在客户端虚拟机上运行。有没有办法将其更改为Server Vm?

- INFO-- 我把我的JRE保留在C:\Program Files (x86)\Java\jre1.8.0_131。我创建了系统环境变量JAVA_HOME并保留了它的路径。而且在PATH变量中我也添加了路径。

由于

1 个答案:

答案 0 :(得分:1)

听起来像 PATH 问题。

确保文件 jmap.exe 位于Windows系统变量 PATH 中指定的路径中。

当您向变量添加C:\Program Files (x86)\Java\jre1.8.0_131时,您确定 jmap.exe 位于那里吗?通常它位于 JDK \ bin 中,而不是 JRE \ bin

JRE( Java运行时环境)仅包含运行Java程序所需的内容,而JDK还包含对开发有用的工具( Java Developer Kit )。 / p>

Windows在系统 PATH 变量中指定的所有路径中搜索命令。如果这些位置内没有 jmap.exe ,则无法找到它。

如您所见,我的JDK包含 jmap.exe enter image description here

如果你的不包含,我会检查你的位置并尝试其他来源,例如 Oracle

相关问题