htop 内存使用情况与进程列表不相加

htop 内存使用情况与进程列表不相加

我正在使用 lxd 运行多个容器,但在报告内存使用情况时遇到问题:和htopfree显示内存使用率高,但使用内存的进程列表非常短,并且与报告的使用情况不符。

从裸机来看,这是 htop 显示的内容(按%MEM用户空间线程隐藏排序): htop屏幕

这是顶部(按 %MEM 排序): 顶部屏幕

这是free -mh

              total        used        free      shared  buff/cache   available
Mem:            15G        8.2G        5.5G        576M        1.6G        5.4G
Swap:            9G        297M        9.7G

从 htop 截图来看,我预计总内存使用量约为 2G+(加上 RES 值),而不是 10G+。从为什么“top”中的内存使用量没有累加?,报告的“实际使用”内存仍为~6.6G。

我是否遗漏了什么,显示的内存报告是否连贯?

答案1

我认为记忆报告可能是正确的。

top 显示前 22 个进程,并声称总共有 789 个。显示的进程占用了 6.6G 中的大约 1900MB,其余 767 个进程占用了大约 4897 MB。这导致其余进程的平均每个进程占用 6 MB 多一点。你有理由相信这是不可能的吗?在不知道它们是什么类型的进程的情况下,我不知道如何估计它们的内存使用量,除了 < 14.5 MB。

答案2

如果您的整个操作系统都在虚拟化环境(如 VMWare)中运行,这可能是由于记忆膨胀

要检查内存膨胀,请安装open-vm-tools包并运行:

$ vmware-toolbox-cmd stat balloon
5172 MB

相关内容