跟踪和诊断Direct Buffer内存占用

跟踪和诊断Direct Buffer内存占用

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

From #