场景:
我有一个在docker容器中运行的JVM.我使用两个工具进行了一些内存分析:1)top 2)Java Native Memory Tracking.这些数字看起来很混乱,我试图找出导致差异的原因.
题:
对于Java进程,RSS报告为1272MB,报告的总Java内存为790.55 MB.我怎么能解释内存的其余部分1272 - 790.55 = 481.44 MB去哪了?
为什么我想在SO上查看这个问题后仍然保持这个问题的开放性:
我确实看到了答案,解释也很有道理.但是,从Java NMT和pmap -x获取输出后,我仍然无法具体映射实际驻留和物理映射的Java内存地址.我需要一些具体的解释(详细步骤)来找出导致RSS和Java Total提交内存之间差异的原因.
最高输出
Java NMT
Docker内存统计信息
图表
我有一个运行48小时以上的码头集装箱.现在,当我看到一个图表包含:
那么,在1.1 GB(RSS)和800 MB(Java Total committed memory)之间占用的内存是什么?