![]() |
如何判断 Xen VPS 是否超卖内存? - 可打印的版本 +- Netflix优惠码论坛 (https://www.sinovoter.com) +-- 版块: 合租专栏 (https://www.sinovoter.com/forum-18.html) +--- 版块: VPS 主机 服务器优惠 (https://www.sinovoter.com/forum-20.html) +--- 主题: 如何判断 Xen VPS 是否超卖内存? (/thread-8137.html) |
如何判断 Xen VPS 是否超卖内存? - netflix - 09-11-2023 OpenVZ VPS通常在内存、磁盘空间或带宽(或所有这些)方面都超卖。超卖内存和磁盘空间很容易。你只是vzctl create一个新的虚拟环境,不管是否有足够的内存或磁盘空间,小菜一碟。但是如果做得过火,肯定会激怒您的客户。 这也是反对 OpenVZ 的众多论据之一,尤其是与 Xen 相比时。“OpenVZ 获得了超卖的资源。Xen VPS 有专门的内存,等等等等。” 好吧。不完全正确。 2 周前,我从北卡罗来纳州阿什维尔的一家供应商那里得到了一个便宜的 VPS。可能应该在这里保持匿名的人 ![]() 代码: # free 代码: # ps aux 在进一步挖掘之前,这是事实。绝对可以在 Xen VPS 上超卖内存。多年来众所周知的东西,尽管 Xen 供应商不想谈论它。它使用一种称为 ballooning 的技术。 基本上,您的系统上安装了一个特殊的 Linux 内核驱动程序——“balloon driver”。当 dom0(Xen 服务器/管理程序)需要更多内存,并希望从客户 VPS (domU) 中申请一些内存时,它会要求客户 VPS 的气球驱动程序膨胀本身——通过向其 Linux 内核请求一些内存。内核内存分配将从该 VPS 的可用内存中请求,并且无法调出以进行交换。一旦气球驱动程序消耗了内存,它就会传递给 dom0/hypervisor 以在其他地方使用(例如,创建一个新的 VPS)。因此,您的 VPS 的“总内存”量将保持不变,但“已用内存”会大幅增加,因为内核内部的气球驱动程序现在已经使用了一大块,并且现在可能是其中的一部分另一个VPS。用户级守护程序“xenballoond”(实际上是一个 bash 脚本)也可用于允许动态气球,尽管我在我的 VPS 中没有看到它。 我想这可以解释为什么我使用了 330MB 的内存,而我只有很少的进程在运行。 我在 procfs 中发现这个文件很有趣: 代码: # cat /proc/xen/balloon 这当然是我不熟悉的东西,也许一些供应商可以启发我们。不过结论还是一样的。Xen 的超卖当然是可能的。 |