我有一个32 GB的RAM的ESX主机。
在其上放置三个虚拟机,每个虚拟机分配16 GB的RAM – 明知的过度使用总数。
每个虚拟机有两个networking接口。
第一个连接到称为前端的虚拟交换机,并具有上行链路NIC到物理networking。
第二个连接到一个虚拟的“开箱即用”(switch-in-a-box) – 即没有物理上行链路的交换机,我们称之为networking后端 。
当这三台机器负载不足时,ESX vmkernel开始将一些RAM交换到磁盘 – 高达6.5GB。
由于内存交换造成的负载较重,我无法find有关后端networking性能下降的任何文档/推理,但这基本上是影响。
有没有任何上行链路有关虚拟交换机速度的明确参考?
内部networking由vmkernel控制。 我认为vmkernel越难工作,你会看到越多的性能下降。 他们从这篇文章中提到:
validation您的ESX Server主机是否过载。 networking依赖于可用的处理器资源。 如果主机上的CPU正在使用容量,则networking性能会受到影响。
与合作不是很多。 本文将更多地介绍VMware的具体内容,而这篇博客文章则对networking和开销的本质做了一点说明。
事实上,所有虚拟机networkingI / O都由CPU处理。 由于networkingI / O,我已经拥有了不能虚拟化的系统,而不是CPU /内存/磁盘负载。
那么,通过虚拟网卡(客人)stream动的数据必须首先通过客户RAM(然后到磁盘或CPU)来结束。
如果有多个虚拟机具有相同的可共享的内存虚拟机(例如,单个主机上的200个相同的 XP虚拟机),则应该使用Overcommitting。
我可以理解,当你打开所有的东西(不知道要共享什么内存)时,你的主机已经交换到了磁盘,但是当负载上升的时候,突然的交换使用是这些虚拟服务器内部的内存不一样的情况。
买更多的内存也许?