jdk8使用jcmd. 报错Native memory tracking is not enabled
时间: 2024-09-11 08:03:06 浏览: 150
Linux系统下Jdk8的tar.gz压缩包
`jcmd` 是 JDK 8 引入的一个工具,用于向 JVM 发送诊断命令请求信息。它可用于获取有关运行时信息、进行诊断和调试等。
当您使用 `jcmd` 命令并遇到错误信息 "Native memory tracking is not enabled" 时,通常意味着您尝试查看 JVM 的本地内存跟踪信息,但是没有预先在 JVM 启动时启用该功能。
要解决这个问题,您需要在启动 JVM 时启用 Native Memory Tracking (NMT),可以通过添加 JVM 参数 `-XX:NativeMemoryTracking=[mode]` 来实现。其中 `[mode]` 可以是以下几种模式之一:
- `off`:默认模式,不启用 NMT。
- `summary`:启用 NMT,但是只会跟踪内存使用总量。
- `detail`:启用 NMT,并且会跟踪内存使用详情。
例如,如果希望启用 NMT 并跟踪内存使用详情,可以在 JVM 启动时添加以下参数:
```bash
-XX:NativeMemoryTracking=detail
```
启用 NMT 后,就可以使用 `jcmd <pid> VM.native_memory [summary|detail|baseline|scale]` 命令来获取相关内存信息。
阅读全文