我已经运行了springboot示例项目来观察jvm内存,但是让我感到困惑的是jstat的结果:
OGC(当前的旧发电容量。kB)19848
NGC(当前新一代容量kB)9984
MC(元数据容量kB)35456
,但是RES(任务的当前使用的可用物理内存份额)最高的结果是127M 所以这是我的问题:
为什么OGC + MNC + MC =63.7578125M!= RES 127M
NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC MCMN MCMX MC CCSMN CCSMX CCSC YGC FGC
5440.0 83968.0 9984.0 960.0 960.0 8064.0 10944.0 167936.0 19848.0 19848.0 0.0 1081344.0 35456.0 0.0 1048576.0 4480.0 80 2
top:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18267 wks 20 0 2242.5m 127.8m 13.0m S 0.0 13.1 0:54.99 java
答案 0 :(得分:0)
该进程使用的内存包括;
.so
库通过检查/proc/{pid}/smap
可以看到更详细的细分,其中显示了所有内存区域以及驻留的内存量。不幸的是,它不了解Java内存布局,但是可以让您了解使用内存的位置。