如果我在 Internet 上搜索安装 64 位操作系统的最低要求,Microsoft 及其相关论坛建议将 4 GB RAM 作为最低标准。另一方面,当我查看 Linux 社区并说我有双核处理器和 2 GB RAM 时,他们说这是 64 位处理器,您可以选择 64 位操作系统来提高效率。现在我的问题是安装 64 位操作系统有什么重要意义?只是内存还是其他什么?
答案1
64 位对于性能来说是好是坏很大程度上取决于应用程序。一般来说:
- 数值计算(整数或浮点)在 64 位中速度更快,并且占用的内存量大致相同。
- 符号计算(操作结构化数据)速度较慢,并且在 64 位中占用两倍的内存。
- 文本操作大致相同(在 64 位中稍慢一些并且更需要内存)。
然而,这些只是非常粗略的指导方针,还有很多例外情况。
Windows 指南往往会引导人们远离 64 位操作系统,因为存在更多不兼容的应用程序。 Linux 很早就已经为 amd64 做好了准备;剩下的少数不兼容的应用程序大多是闭源的,并且可以在具有适当的 32 位库的 64 位内核上作为 32 位可执行文件正常运行。
在 Linux 上,以下是一些准则:
- 如果您有需要 64 位或将从 64 位中受益的特定应用程序,则需要 64 位内核。请注意,您可以拥有带有 ix86 用户空间的 amd64 内核,但反之则不然。如果这些应用程序不需要很多库,您可以运行 32 位发行版的 amd64 内核。
- 如果单个进程需要3GB以上的地址空间,则必须是64位内核;对于超过 4GB 的内核和应用程序,则为 64 位。
- 如果您有 4GB 或更多 RAM,请获取 64 位发行版。 Linux 在 32 位内核中最多可以使用 64GB,但需要启用 PAE(大多数发行版都包含 PAE 内核,但可能不是默认内核)。
- 如果您的 RAM 少于 1GB,请选择 32 位。
- 从 1GB 到 3GB,任一种选择,稍微偏爱 64 位,但也许保留一些应用程序为 32 位。 (例如,我测量更多的Firefox 3.0 的 amd64 二进制文件的内存使用量是相同版本的 ix86 二进制文件的两倍多。我没有在后续版本中重复这些措施。)
答案2
最低 4G 与操作系统的要求无关,而是与效率有关。 32 位系统本质上与内存通信所需的地址值更短,实际上在某种程度上更高效。
32位系统一次最多只能寻址4G内存。在现代 Linux 内核上,此限制是针对每个进程的,因此即使是 32 位操作系统也可以使用更多 RAM,但它是通过让每个应用程序仅寻址从整个存储中划分出来的最多 4G 块来实现这一点的。
64 位的优势在于它可以为进程提供一次性寻址整个系统内存的能力,如果需要的话,允许内存消耗超过 4G。然而,它需要权衡。由于它使用更多位来保存和处理地址,因此机器代码变得更大并且运行速度稍慢。
因此,您可以在 2G 上运行 64 位操作系统,但这并没有什么意义,因为 32 位操作系统在同一系统上可能会更快。即使您跨界使用更大的 RAM,32 位系统仍然可能会更快,因为任何单个进程都很少需要那么多 RAM,更常见的是您希望运行大量进程,而这些进程都使用某些部分内存的。