目录
一、Native Memory Tracking (NMT)
是Hotspot VM用来分析VM内部内存使用情况的一个功能。我们可以利用jcmd(jdk自带)这个工具来访问NMT的数据。
1.Native memory tracking is not enabled 打开NMT
二、查看原生内存信息:jcmd process_id VM.native_memory summary
3.使用summary.diff来查看跟baseline对比的统计信息
一、Native Memory Tracking (NMT)
是Hotspot VM用来分析VM内部内存使用情况的一个功能。我们可以利用jcmd(jdk自带)这个工具来访问NMT的数据。
1.Native memory tracking is not enabled 打开NMT
NMT必须先通过VM启动参数中打开,不过要注意的是,打开NMT会带来5%-10%的性能损耗。
-XX:NativeMemoryTracking=[off | summary | detail]
# off: 默认关闭
# summary: 只统计各个分类的内存使用情况.
# detail: Collect memory usage by individual call sites.
例如:-XX:NativeMemoryTracking=detail
二、查看原生内存信息:jcmd process_id VM.native_memory summary
jcmd <pid> VM.native_memory [summary | detail | baseline | summary.diff | detail.diff | shutdown]
1.打基线
jcmd 1 VM.native_memory baseline
2.查看detail
jcmd <pid> VM.native_memory detail scale=MB
jcmd <pid> VM.native_memory detail