我有一台具有 32 GB RAM 的 ESX 主机。
在其上放置三个虚拟机,为每个虚拟机分配 16 GB 的 RAM — — 故意过度使用总量。
每个虚拟机有两个网络接口。
第一个连接到虚拟交换机,称为前端并具有到物理网络的上行链路 NIC。
第二个连接到虚拟的“盒内交换机” - 即此交换机没有物理上行链路,我们称之为网络后端。
当三台机器都处于负载之下时,ESX vmkernel 开始将一些 RAM 交换到磁盘 - 最多 6.5GB。
我找不到关于后端由于内存交换导致的负载增加,网络性能下降,但这基本上就是影响。
有没有关于没有任何上行链路的虚拟交换机速度的明确参考?
答案1
答案2
确实,所有 VM 网络 I/O 都由 CPU 处理。我曾遇到过无法虚拟化的系统,原因是网络 I/O,而不是 CPU/内存/磁盘负载。
答案3
好吧,流经虚拟网卡(客户机)的数据必须首先经过客户机的 RAM(然后到达磁盘或 CPU),最终到达某个地方。
当你有多个虚拟机拥有相同的内存气球并可以共享时(例如 200 个),应该使用过度使用 完全相同的XP 客户机)。
我可以理解,当你打开所有东西时,你的主机必须交换到磁盘(它还不知道要共享什么内存),但是当负载增加时突然出现交换使用,这相当于这些虚拟服务器内的内存不一样。
也许需要购买更多 RAM?