Content #
Java中如何跟踪和诊断 Direct Buffer 内存占用?使用 Native Memory Tracking(NMT)特性来进行诊断,可以在程序启动时加上下面参数:
-XX:NativeMemoryTracking={summary|detail}
注意,激活 NMT 通常都会导致 JVM 出现 5%~10% 的性能下降,请谨慎考虑。运行时,可以采用下面命令进行交互式对比: // 打印NMT信息
jcmd <pid> VM.native_memory detail
// 进行baseline,以对比分配内存变化
jcmd <pid> VM.native_memory baseline
// 进行baseline,以对比分配内存变化
jcmd <pid> VM.native_memory detail.diff