如果我有一台 4 GB 的机器,并且每台虚拟机需要 1 GB,那么我就不能拥有超过 4 个虚拟机。对还是错?解释任一答案
答案1
错误:一些 VM 解决方案支持内存过量使用。这是否是个好主意又是另一回事。(还取决于你“需要”的意思有多强烈。)
答案2
有一篇关于内存过量使用和虚拟化的有趣文章http://blog.gridcentriclabs.com/2010/08/virtualization-and-over-subscription.html如果你对其背后的理论感兴趣
答案3
这也取决于您使用的 VM 系统。
例如,VMWare ESX / ESXi 很乐意超额承诺。Xenserver 没有做出这样的声明(我上次检查时)。
如果您在 ESX / ESXi 机器上过度使用,最好加载同一操作系统的多个副本,这样可以更好地进行页面合并。如果您的客户操作系统是 Windows、Linux 和 Solaris,那么您几乎无法获得这种过度使用的能力。如果它们都是 Windows(或 Linux 或 Solaris),那么在这些机器上,过度使用 20% 或更多不太可能造成太大损害。
我不确定 WMWare Workstation 或 Player 是否能做到这一点。当然,当我专业地使用 VMware Player 或工作站时,我发现尝试过度使用可以让虚拟机运行,但性能很糟糕 - 主要是因为主机系统分页。这太糟糕了,我再也不会尝试了。
因此,如果使用主机操作系统和桌面虚拟化产品,我倾向于建议使用大量 RAM,并且不要过度使用。
答案4
实际上,您还需要确保为主机操作系统留出足够的内存。启动太多虚拟机会占用主机的所有(或几乎所有)内存,从而导致性能极差。我曾经在系统上只为主机操作系统留出 256MB RAM,花了将近半个小时才让其中一个虚拟机再次关闭!