在超额分配的 ESX 主机上,客户机分配了 80GB RAM。气球驱动程序在某个时刻启动,消耗了相当多的内存。
# vmware-toolbox-cmd stat balloon
52381 MB
现在 guest-os 认为 80G 中的 77G 正在使用中。
# free -m
total used free shared buffers cached
Mem: 80586 77570 3015 1220 101 1800
但是,为什么我在运行 top(按内存排序)时看不到这个?我的 top 进程只使用了 2GB 的 RAM。客户操作系统认为大约 50GB 的内存消失了吗?
答案1
Ballooning 使用内核模块(作为 VMware Tools 的一部分安装)来分配客户机中的内存。因此,消耗内存的是 Linux 内核,而不是 top 显示的常规进程之一。