标签:jvm 参数 rgb htm statistic jstat rgba options 参考 命令
一、介绍
jvm 提供了 jmap\jstat\jps\jinfo 等一系列命令可以查看堆内存、线程等使用情况,但实际在运维的过程中还是会碰到以上命令都无法解决的场景,即:通过以上命令发现堆、线程使用的都是正常,此时就会想到会不会是堆外使用不正确造成的。为了一探究竟及需要 NativeMemoryTracking (以下简称 NMT).
二、使用
(1) jvm 打开 NMT
-XX:NativeMemoryTracking=[off | summary | detail]
# off: 默认关闭
# summary: 只统计各个分类的内存使用情况.
# detail: Collect memory usage by individual call sites.
(2) 使用 NMT
jcmd <pid> VM.native_memory [summary | detail | baseline | summary.diff | detail.diff | shutdown] [scale= KB | MB | GB]
# summary: 分类内存使用情况.
# detail: 详细内存使用情况,除了summary信息之外还包含了虚拟内存使用情况。
# baseline: 创建内存使用快照,方便和后面做对比
# summary.diff: 和上一次baseline的summary对比
# detail.diff: 和上一次baseline的detail对比
# shutdown: 关闭NMT
(3)jvm 退出时打印 NMT
-XX:+UnlockDiagnosticVMOptions -XX:+PrintNMTStatistics
参考资料:
https://my.oschina.net/foxty/blog/1934968
https://www.cnblogs.com/rude3knife/p/13570423.html
JVM 参数配置介绍专题(一)NativeMemoryTracking
标签:jvm 参数 rgb htm statistic jstat rgba options 参考 命令
原文地址:https://www.cnblogs.com/sandyflower/p/14854578.html