什么是 64 位 Linux 可以做而 32 位 linux 不能做的?

use*_*951 5 linux 64bit memory 32bit x86

我从 fdcserver 订购了一个服务器。然后我意识到,除非更改,否则 fdcserver 实际上默认提供 32 位操作。

我使用 SSH 登录,输入uname -m,令我震惊的是我看到我实际上运行的是 32 位 Linux。

我肯定会在接近月底时改变这一点。同时,这个 32 位操作系统的限制是什么?

我可以使用服务器安装的所有 32 GB 内存吗?

Ger*_*erg 12

32 位 x86 CPU(自 Pentuim Pro 起)支持高达 64 GiB RAM(使用 PAE)。(需要设置“CONFIG_HIGHMEM64G”内核选项才能实际使用它)。每个应用程序一次只能看到 4 GiB(其中一些 4GiB 必须用于其他用途,具体数量取决于“内存拆分”内核设置)

64 位操作系统还有其他一些优势,例如访问 CPU 上的额外寄存器,这可以加速某些类型的应用程序(通过允许更多临时数据保存在更快的寄存器中,而不是主 RAM)

  • 如果您订购的是 32G 内存,则真的没有理由使用 32 位操作系统。64 位操作系统应该是默认的,无需客户询问。 (14认同)
  • 添加到 John Siu 的评论中,我会质疑任何将使用 32 位操作系统设置服务器的主机,知道它获得了 32GB 的 RAM。桌面系统甚至有问题,但绝对不是服务器。 (2认同)
  • 4GB 限制适用于 64 位内核上的 32 位应用程序,在 32 位内核上限制为 3GB。 (2认同)

小智 6

即使使用 32 位内核,您也可以访问所有内存。主要区别可能是任何应用程序都不能寻址超过 3GB 的内存。不知道你是否真的使用过这样的应用程序(通常是数据库,或者图形应用程序),否则你可能会忽略这个问题。请注意,64 位应用程序需要更多内存(因为寄存器和地址更大),并且从磁盘加载更慢(因为二进制文件更大)。

因此,在离开 32 位用户空间之前,最好检查一下您的要求。此外,许多 Linux 发行版提供 64 位内核以用于 32 位用户空间:如果您指的是 PC,请查看 Debian 如何为i386(32 位)架构提供amd64内核系列。