想要在 windows 10 中获取线程转储?
Wanted to take thread dump in windows 10?
我想为 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)
而且它似乎是 运行 在客户端 VM 上。有什么办法可以改成Server Vm吗?
--信息--
我将我的 JRE 保存在 C:\Program Files (x86)\Java\jre1.8.0_131
中。我创建了系统环境变量 JAVA_HOME 并保留了这条路径。而且我也在 PATH 变量中添加了路径。
谢谢
听起来像是 PATH 问题。
确保文件jmap.exe位于[=59的系统变量PATH中指定的路径=].
由于您已将 C:\Program Files (x86)\Java\jre1.8.0_131
添加到变量中,您确定 jmap.exe 位于此处吗?通常它在 JDK\bin 而不是 JRE\bin.
JRE(Java 运行时环境)仅包含 运行 Java 程序所需的内容,而 JDK 还包括对开发有用的工具(Java 开发工具包)。
Windows 在系统 PATH 变量指定的所有路径中搜索命令。如果这些位置中没有 jmap.exe,它将找不到它。
如您所见,我的JDK包括jmap.exe:
如果你的不包括一个,我会检查你从哪里得到它并尝试另一个来源,例如 Oracle。
我想为 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)
而且它似乎是 运行 在客户端 VM 上。有什么办法可以改成Server Vm吗?
--信息--
我将我的 JRE 保存在 C:\Program Files (x86)\Java\jre1.8.0_131
中。我创建了系统环境变量 JAVA_HOME 并保留了这条路径。而且我也在 PATH 变量中添加了路径。
谢谢
听起来像是 PATH 问题。
确保文件jmap.exe位于[=59的系统变量PATH中指定的路径=].
由于您已将 C:\Program Files (x86)\Java\jre1.8.0_131
添加到变量中,您确定 jmap.exe 位于此处吗?通常它在 JDK\bin 而不是 JRE\bin.
JRE(Java 运行时环境)仅包含 运行 Java 程序所需的内容,而 JDK 还包括对开发有用的工具(Java 开发工具包)。
Windows 在系统 PATH 变量指定的所有路径中搜索命令。如果这些位置中没有 jmap.exe,它将找不到它。
如您所见,我的JDK包括jmap.exe:
如果你的不包括一个,我会检查你从哪里得到它并尝试另一个来源,例如 Oracle。