64 位与 32 位处理器 [内存消耗]

64 位与 32 位处理器 [内存消耗]

64 位处理器比 32 位处理器消耗更多内存 (RAM) 吗?

答案1

处理器本身不消耗内存。它使用不同大小的地址访问内存。因此,64 位处理器可以寻址高达 171.7 亿 GB 的内存,而 32 位处理器只能寻址 4.29 GB。

如果你的意思是“64 位应用程序是否比 32 位应用程序消耗更多内存?”那么答案是肯定的。64 位进程中的内存地址长度为 8 个字节,而不是 4 个字节。因此,你不会看到加倍内存使用量,整个应用程序中使用的数千个指针将消耗通常两倍的内存。

32 位地址已经远远不够用了,现在许多计算机都标配 4 GB 内存,而由于操作系统和硬件内存映射开销,32 位进程实际上无法完全寻址。64 位地址将让我们继续使用很长很长一段时间。

然而,许多人没有编写正确的 64 位代码,而 GNU/Linux 经过调整以支持这些故障。因此在许多情况下,64 位应用程序的运行方式与 32 位应用程序相同(mmap 调整):http://marc.info/?l=openbsd-misc&m=130683944229077&w=2。开发真正的 64 位代码是人们应该努力的事情。

现在大多数消费级 32 位处理器都已停产。即使由于 8 字节指针和其他方面而占用了额外的内存,现代 64 位处理器从定义上来说比 32 位时代的处理器更新,而且通常更高效。

总而言之,考虑到当今计算机的标准内存大小和处理器运行速度的增加,额外的内存使用是一个几乎无关紧要的问题。

答案2

是的。

但我必须输入更多内容才能提交......唉......

编译为 32 位应用程序的程序 A 的内存占用量小于编译为 64 位应用程序的相同程序 B。这是因为每个内存块都有更大的地址。

例如:假设您的电话簿都是本地电话号码,他们可能只会打印号码而不打印区号。但是为了容纳更多的号码/地址,打印区号会占用更多的空间/墨水/质量等。

答案3

由于优化问题,64 位程序的内存使用率略高,但效果不显著实践中。64 位架构和 64 位软件带来的好处(例如更高的内存寻址能力)在几乎所有情况下都远远超过内存使用量的增加。

相关内容