OpenVZ 下的内存使用量读数不准确?

OpenVZ 下的内存使用量读数不准确?

我有一个基于 OpenVZ 的 VPS,运行 CentOS 7.4(Linux hostname 2.6.32-042stab116.2 #1 SMP Fri Jun 24 15:33:57 MSK 2016 x86_64 x86_64 x86_64 GNU/Linux)。

工作负载是一个 Java 应用程序。根据top,java 进程消耗了大约 3.3 GB 的物理内存,而可用内存为 4 GB。但与此同时,显示的总内存使用量却不到 128 MB!

截屏

请注意,指示的 buff/cache 约为 3800 MiB。我已阅读了有关内存读取的几个问题和文章top,但似乎没有一个能解释这种特定情况。

归属于 Java 的大部分 RES 内存是否可能是可丢弃缓冲区?内核是否会跟踪缓存内存中的“所属进程”?或者这只是由于虚拟化和/或旧内核版本造成的不准确性?

相关内容