jstat -gc [pid]
# 每隔1秒钟统计一次,一共执行10次
jstat -gc [pid] 1000 10
参数说明
S0C:这是From Survivor区的大小
S1C:这是To Survivor区的大小
S0U:这是From Survivor区当前使用的内存大小
S1U:这是To Survivor区当前使用的内存大小
EC:这是Eden区的大小
EU:这是Eden区当前使用的内存大小
OC:这是老年代的大小
OU:这是老年代当前使用的内存大小
MC:这是方法区(永久代、元数据区)的大小
MU:这是方法区(永久代、元数据区)的当前使用的内存大小
YGC:这是系统运行迄今为止的Young GC次数
YGCT:这是Young GC的耗时
FGC:这是系统运行迄今为止的Full GC次数
FGCT:这是Full GC的耗时
GCT:这是所有GC的总耗时
jmap -heap [pid]
jcmd <pid> VM.native_memory [summary | detail | baseline | sumary.diff | detail.diff | shutdown] [scale = KB | MB | GB ]
开启 NMT
启动 NMT 带来 5-10%的性能损失。
-XX:NativeMemoryTracking=[off|summary|detail]