使用 Core i3 运行多个虚拟机?

使用 Core i3 运行多个虚拟机?

我有一台配备 Core i3 + 8GB 的​​台式机。

看来我需要将我的一个 CPU 核心分配给虚拟机。这意味着我一次只能运行一个虚拟机?

VM 应用程序是否真的为每个 VM 映像使用一个核心?还是它们依赖于内存?

答案1

您分配给虚拟机的核心是虚拟核心。您实际上拥有无限量的虚拟核心。

答案2

尽管其他答案都是正确的,但您仍需要注意一些事项。

  1. 不要超过单个 VM 中服务器上可用的实际线程数。例如,如果您的 Core i3 有 4 个线程(即带 HTT 的双核),则不要创建具有 8 个线程的 VM。它们通常会崩溃并且实际上运行速度极慢。

  2. 虽然您可以为虚拟机分配比服务器实际拥有的更多的 RAM,但请注意实际使用的 RAM,并尽量不要超过裸机的最大值。您将开始使用 SWAP,这非常慢。如果使用量开始使用 SWAP(虚拟内存),您最好降低每个虚拟机上的 RAM。

  3. 仅仅因为您的 CPU 空闲率为 25-50% 并不意味着您有空间容纳 2-4 倍数量的虚拟机。您不希望 CPU 空闲(或最低限度的进程)运行得非常高。CPU 使用率总是有一定自然量,随着时间的推移,您将在服务器上看到一些统计数据,以了解高峰时间以及您实际上可以在服务器上投入多少资源。

  4. 通常,对于虚拟机和云,服务器最慢的部分是硬盘。最好将您计划运行的虚拟机数量与可以支持它们的 SAN/HDD 相匹配。我的 Raid5 可以可靠地提供 300MBps 的速度。

我的私有云上​​随时都有大约 20 个虚拟机在运行。其中一些虚拟机包括代理服务器、VPN 服务器、WHS、数据库服务器、5 个 Ruby on Rails 应用程序、Astrix 电话服务器、2 个 WordPress 服务器、虚拟主机 Web 服务器(10 个网站)。

它是一款 Intel Xeon E3-1270、32GB RAM、8x1TB 7200 RPM RAID5 和 50Mbps 连接。大多数情况下,它的 CPU 使用率约为 5-10%。它的 CPU 使用率峰值约为 75%。我使用 Proxmox 作为我的虚拟化解决方案,并且非常喜欢它。我已经使用它几年了。

答案3

虚拟机中的 CPU 并不直接映射到物理 CPU [核心]。即使只有一个“真实”CPU 核心,您也可以安全地运行数十个虚拟机,每个虚拟机都有多个虚拟 CPU。

答案4

我曾经在 c2d 上轻松同时运行 3-4 个虚拟机。这里有几个概念。首先,虽然一个核心可以一次运行一个线程(不计算超线程等),但它可以在线程之间切换,两个核心更好,因为它们不需要经常在线程之间切换核心,但这不是什么大问题。

这与运行一个程序的多个副本(例如,Chrome 每个选项卡运行一个进程)或单个多线程软件没有什么不同。

您的内存和处理器的使用情况比核心数更为关键,甚至专用的 VM 主机的核心数也比运行的 VM 少得多。

我还注意到,一些虚拟机主机软件允许你运行更多的虚拟核心比物理核心多,因此可以肯定你不需要每个虚拟机一个核心。

相关内容