我打算在 VPS 上只运行一个专用的游戏服务器,因此性能是最重要的。我通常会选择 64 位,但由于我只有 2 GB 的 RAM,我应该坚持使用 32 位吗?我听说 32 位速度更快,RAM 更少,但 64 位更适合处理视频编码等我不会做的事情。人们仍然对 64 位操作系统深信不疑,所以我正在重新考虑。
那么,我应该选择 32 位还是 64 位?32 位真的那么高效吗?
编辑:我说的高效是指性能方面。在 32 位上速度会快很多吗?
编辑2:我将使用SSD。
答案1
由于寄存器更宽,64 位应该可以实现每个周期更多的计算,并且可以使用更多寄存器。我运行了几个计算密集型基准测试(例如 lmbench),并在吞吐量和每瓦吞吐量方面比较了 32 位和 64 位,结果发现 64 位在许多情况下都胜出。
从架构上讲,64 位仅允许编译器在寄存器中保存更多数据,因为 64 位寄存器更多,更宽。更多寄存器可能允许更好的内部 CPU 指令重新排序和流水线操作,从而提高吞吐量。
缺点是寻址更大,意味着可执行文件更大,因此您可能会看到额外指令缓存未命中的轻微影响。但实际上,我的建议是使用 64 位。
作为参考,这里有我之前在 X220 上进行的一些基准测试,比较了纯 32 位、32 位用户空间 + 64 位内核、64 位用户空间 + 64 位内核和 x32。 http://kernel.ubuntu.com/~cking/x32/Raring-benchmarks/power-consumption/x32-power-analysis.txt
答案2
如果您的硬件架构是 64 位,我会选择 64 位客户操作系统。这样客户机就可以充分利用 64 位架构 -来源。
有时候,您可能希望将客户机迁移到具有更多内存的主机。使用 64 位操作系统将使迁移变得更加容易。
您提到过您追求速度。您正在主机上运行客户机。为什么不同时安装 32 和 64 版本并在负载下测试它们。这将为您提供更多的真实体验。
某些 32 位应用程序无法在 64 位架构上运行良好,无论操作系统是否为 32 位。