虚拟化:64 位还是 32 位?

虚拟化:64 位还是 32 位?

我将在虚拟机中安装 Ubuntu 10.04 Server,并希望在其上运行 MySQL 和 Lighttpd。

除了 32 位机器上的 4 GB 内存限制外,64 位和 32 位虚拟化之间还有其他优点或缺点吗?

我使用 Virtualbox。

答案1

除了 32 位机器上的 4 GB 内存限制外,64 位和 32 位虚拟化之间还有其他优点或缺点吗?

在 64 位环境中运行有许多优点。正如您所说,最大的优点是能够寻址大量内存。虽然您可以让 32 位内核寻址超过 4GB 的 RAM,但单个进程仍将限制在 4GB。这不仅会影响“实际 RAM”,还会影响它们的整个虚拟地址空间……如果应用程序计划通过 mmap() 或其他技术大量使用虚拟内存,那么这将是一个特别的问题。http 缓存就是一个典型的例子。讨论这里以及其他地方。

本文来自 AMD(警告:PDF)详细讨论了 64 位与 32 位。

64 位系统在理论上具有性能优势,因为它拥有更多寄存器、更宽的内存提取范围(即每次读取操作读取更多位)等等,但到目前为止我看到的数据表明,32 位与 64 位的性能目前并不是选择其中一个的理由。

答案2

32 位客户机将使用较少的内存。除非有特殊原因,否则我通常在 64 位主机上使用 32 位客户机。如果您需要高内存,则使用 64。

答案3

需要考虑的一个问题是虚拟机的 RAM 要求。您会发现,与 32 位 Ubuntu 相比,MySQL 和 Lighttpd 在 64 位 Ubuntu 中占用更多内存。

因此,我喜欢在内存较少(例如 512 或更少)的小型虚拟机上使用 32 位安装。您会在许多 VPS 提供商(例如 linode 或slicehost)上经常看到这些低端配置。

答案4

我所见过的唯一能够显示 64 位代码真正优点的基准测试是针对 mysql(以及一般的 db),它是在 Sun Ultra 5 上运行的(在 RISC 领域,32 位几乎总是快一点),如果性能很重要,那么它可以产生真正的差异。

还有一点,VMware 表示除非您需要更高的性能,否则将 VM 设置为使用一个 CPU,因为它通常更快(多个虚拟 CPU 会产生开销)。

相关内容