32位和64位有什么区别,我应该选择哪个?

squ*_*ayu 144 cpu-architecture

32 位和 64 位 Ubuntu 有什么区别?我听说 64 位平台性能更好,可以检测超过 4GB 的 RAM。此外,虽然某些应用程序尚未移植到 64 位,但ia32-libs让 64 位机器运行它们。

如果是这样,为什么不提升 64 位而不是 32 位?

Ser*_*gey 151

我相信在 32 位和 64 位之间进行选择时的主要问题不是“我的处理器是否支持 64 位——如果支持,那么我应该使用 64,因为那是两倍好”,而是“我有多少内存?” .

64 位程序使用的内存比 32 位程序多 50%。这样做的结果是:

  • 更少的代码/数据可以放入处理器缓存 -> 更多的缓存未命中 -> 你的超快处理器等待内存控制器从 RAM 中获取数据。处理器还需要读取更多数据,因为它更臃肿。

  • Linux 使用未分配的 RAM 来缓存磁盘。可用内存较少 -> 磁盘缓存空间较少 -> 磁盘访问速度较慢

  • 一旦您的 RAM 用完并且系统开始交换 - 磁盘访问速度比 RAM 慢数千倍,因此 64 位代码(见下文)的任何潜在好处都会飞出窗口。

另一方面,在 64 位模式下,处理器有更多寄存器,因此不需要经常访问内存,而且某些计算(64 位数字等)效率更高。所以一般来说,不受内存限制的代码在 64 位模式下运行速度会稍快一些。

因此,如果您的系统具有 2GiB 或更少的 RAM,那么我肯定会选择 32 位。超过 4GiB - 64 位的优势越来越突出。4GiB 附近是一个“灰色地带”——你需要自己做出选择。

以下是在具有 1GiB RAM 的 VirtualBox 中运行的(相当旧的)vanilla Ubuntu 的屏幕截图:

32 位:启动后立即使用 388 MiB 的 RAM,没有运行其他应用程序(从屏幕截图中,397780KiB,即 388MiB)

32 位 Ubuntu

64 位:使用 491 MiB 的 RAM(来自屏幕截图,503452KiB = 491MiB)

64 位 Ubuntu

此外,在我的测试中,用 Python 编写的 Web 应用程序在 64 位机器上使用了多达 60% 的内存,这导致测试套件在 32 位机器上运行 380 秒,但在 64 位机器上需要 523 秒位 1(均具有 1GiB 的 RAM)。如果机器不受 RAM 限制,结果可能会有所不同(如 phoronix 测试所示)。

以下是一些更彻底和最近的测试:http : //kernel.ubuntu.com/~cking/x32/Quantal-x32-power-memory-comparisons.ods

内存免费 内存使用 交换使用

基本上,这就像放弃 30% 的 RAM 以换取可能的 10% CPU 速度增益

  • 我同意这些数字,但不同意结论。**减少 30% 的 RAM 提高 10% 的性能使其成为本世纪的交易!** 而且,增加额外的 RAM 比更换 CPU 便宜得多。 (22认同)
  • 2015 年仍然如此吗?我想在具有 1GB 内存和慢速 CPU(支持 64 位)的 Atom 平板电脑上安装 Ubuntu 14.04,因此在阅读本文后我强烈倾向于 32 位。自发布此答案以来,有什么值得考虑的变化吗?特别是在 64 位的基本内存消耗方面与 32 位相比,因为内存将是该系统的最大瓶颈。 (2认同)

mar*_*rio 22

如果您不想了解技术细节,请选择推荐的 32 位版本。

64 位通常更快,即使客观上很难注意到。这与 64 位数据宽度关系不大,而是与整个指令集上 16 个超过 8 个通用 CPU 寄存器的可用性有关。因此,浪费更多内存用于管理和更大指针的缺点基本上得到了平衡。

实际问题:并非每个人都有兼容 AMD64 的 CPU。在标准 i686 版本上提升 64 位会导致更多的用户沮丧。因此,在接下来的几年里,向普通用户展示 32 位版本不会那么令人困惑。对于任何知情人士来说,这都不是问题,因为 64 位版本很容易获得。我们 amd64 用户在这种情况下没有任何劣势,除了初始下载。所有软件包都可用于两种架构。

在这种情况下,Ubuntu 下载页面对我来说还不错。它说“32 位(推荐)”,但“推荐”转化为“更少的问题,如果您不了解计算机的所有技术细节”。对于上网本版下载页面,甚至没有选择,因为即使在 2010 年,某些 Intel atom CPU 也只有 32 位!
所以总而言之,我认为避免兼容性问题仍然是必要的。但是,我同意至少应该有一个闪亮的脚注,说明 -64 比 -32 快,并且推荐如果(但仅当)目标系统支持它。

  • 读者须知:这个答案是 4 年前写的。我现在不建议安装 32 位,我认为 Ubuntu 不会再推荐它了。 (5认同)

Mit*_*tch 18

术语 32 位和 64 位是指计算机 CPU 处理信息的方式。64 位版本比 32 位系统更有效地处理大量 RAM。1

  • 要运行 64 位操作系统,您需要 64 位 CPU 的支持。
    • 要运行 64 位应用程序,您需要 64 位操作系统和 64 位 CPU 的支持。

一般规则是 32 位(操作系统和应用程序)将在 64 位上运行,但 64 位(操作系统和应用程序)不会在 32 位上运行:

  • 32 位操作系统可以在 32 位或 64 位处理器上运行,没有任何问题。
  • 32 位应用程序可以在 32 位或 64 位操作系统上运行,没有任何问题。
  • 但是 64 位应用程序只能在 64 位操作系统上运行,而 64 位操作系统只能在 64 位处理器上运行。

安装 64 位操作系统需要兼容 64 位的 CPU。请咨询您的 PC 制造商,了解您的系统是否兼容 64 位。

32 位系统有 4 GB 的 RAM 内存限制,这意味着即使系统上安装了更多的 RAM,它们也无法寻址超过 4GB 的 RAM(不会全部使用)。解决方法是可用的,但对于普通用户来说很难做到。

注意: Ubuntu 12.10 及更新版本将自动支持 PAE。在 12.10 之前,您可以根据 CPU 选择 PAE 支持。PAE 将 32 位的最大 RAM 扩展到 64GB,可以在此处找到更多信息

64 位版本还有其他优势,包括增加的带宽、支持硬件的 DEP(数据执行保护)和更好的内核保护。

大多数 32 位应用程序将继续在 64 位系统上运行,但有些应用程序根本无法运行,或者运行速度会变慢。

有关更多信息,您可以查看32 位和 64 位

1资料来源:微软


des*_*gua 10

由于尖这里Phoronix:“随着Ubuntu的多拱形势正在清理,大多数应用程序和插件,现在64位工作正常(如Adobe Flash和Java),和64位比32平时快得多-bit,真的没有什么大理由不迁移到 x86_64 版本。”

尽管讨论了是否将 64 位指定为默认值而不是 32 位,但我认为第一个会带来一些性能提升。请参阅这些基准

还有一句来自Phoronix 的“低”RAM 内存:“[S] 某些 Ubuntu 开发人员一直过度担心 32 位上网本仍然存在,并且对于只有 2GB RAM 的系统使用 x86_64 软件可能会导致运行”

也许您可以安装它并观察系统是否经常使用交换。