使用 750 MB RAM 运行 64 位 Linux:值得吗?

使用 750 MB RAM 运行 64 位 Linux:值得吗?

我有一个 Debian 服务器 VPS,提供商安装了​​ 64 位 Debian 5。考虑到我只有 750 MB RAM 并且听说变量在 64 位系统上需要更多 RAM,我是否应该要求安装 32 位?

答案1

简短的回答

与 32 位软件相比,变量在 64 位软件中占用的空间不会增加一倍。切换到 32 位操作系统所带来的潜在内存增益并不值得付出努力。

长答案:

数字可以更大,是的,但这并不意味着它们会更大。这也适用于数字,而不是字符串,而字符串(通常)是应用程序中消耗最多内存的内容。

此外,许多应用程序明确指定它们想要使用的数字的大小,就像在 C 等语言中一样,int可以是任何大小,包括小于 32 位的大小。更进一步,在我的 64 位 Linux 机器上,C 语言int是 32 位的。因此,您必须明确请求long long获取 64 位数字。

因此基本上,应用程序不会仅仅因为它们是针对 64 位编译的而使用更多内存。

编辑
为了回应 Gilles 声称 64 位 Firefox 使用两倍内存的说法,我在我的系统上对 32 位和 64 位 Firefox 进行了比较。
我通过启动 5 个打开的选项卡进行测试http://acid3.acidtests.org/并进行了3次测试(一次32位,一次64位,然后重复两次)。我选择这个网站是因为它是 JavaScript 密集型的,并且使用静态内容(页面的每次呈现都将提供相同的数据)。

在最后的运行中:

  • 32 位:173,244kb rss / 918,348kb virt

  • 64 位:184,588kb rss / 966,624kb virt

是的,我可以做更广泛的测试,但我认为这足以证明两者之间的尺寸差异是微乎其微的。

答案2

对于内存小于 4GB 的系统,我选择 32 位而不是 64 位安装。

64 位确实使用更多内存,由于其指针的性质,对于普通 LAMP 安装而言,内存范围大约为 10 到 50 兆字节。

在内存有限的系统上,例如 256meg,这可能是一个相当大的块。

从技术上讲,对于 PAE,同样适用于高达 64gig,但应用程序的可寻址空间在任何情况下仍然限制为 4gig。因此,对于超过 4gig 的任何设备,建议使用 64 位来利用性能增益,尤其是与 PAE 开销相​​关的性能增益。

简而言之:<4gig = 32bit | >4g = 64 位。

答案3

如果提供商安装了​​ 64 位 Debian 5,我建议您保留此版本。

64位和32位之间的区别不仅仅在于内存管理器。

答案4

除了一些运行速度更快的数字运算应用程序外,64 位系统的唯一好处是可以寻址超过 4GB 的内存。由于部分地址空间保留给内核,因此进程只能获得大约 2GB 或 3GB 的地址空间(或多或少,具体取决于内核配置)。对于数据库和 Web 服务器用例,您不打算进行太多交换,也不打算进行太多数字运算。因此,只有 750MB RAM,您不会看到使用 64 位系统的任何好处。

i386(32 位)和 amd64(64 位)代码之间的代码大小大致相同。 64位程序使用的数据内存稍大;多大取决于应用程序。我希望看到您的用例有明显但不是很大的差异。

鉴于使用64位的成本有点小,而且没有任何好处,如果获取起来不太麻烦的话,我建议你使用32位系统。

相关内容