我正在使用笔记本电脑32 位 Ubuntu 10.04。
我以前只有 2 GB 的 RAM。今天,我们的 IT 支持人员将我的笔记本电脑升级到总共6 GB RAM。他们告诉我“虽然你现在有 6 GB,但当你使用当前的 Ubuntu 时,你只能使用 3 GB。你必须安装最新版本的 64 位 Ubuntu 才能启用全部 6 GB。”
他没有做更多解释就匆忙离开了。我打开笔记本电脑,gnome-system-monitor
检查了一下,正如他所说,它显示我只有 3 GB 的 RAM。
有人能解释一下为什么吗?为什么我只有 3 GB 可用,而安装 64 位版本后所有 6 GB 都可用?
答案1
如果您安装了 32 位版本,则需要安装 64 位版本,或者只需安装可以访问所有内存的 PAE 内核即可。从终端或 ALT+F2 运行sudo apt-get install linux-image-generic-pae linux-headers-generic-pae
并重新启动
您需要 pae/64 位内核才能使用超过 3.2gb 的空间,因为 32 位内核无法处理超过该空间的内存。这是硬件限制,而非 Linux 限制。
答案2
如果您在 Grub 菜单启动时选择 *-pae 内核,您将能够使用全部 6G RAM。PAE 代表物理地址扩展,如果您在菜单中看不到它,您可以使用 Synaptic 将其添加到当前内核。但请确保安装相同的版本。
答案3
普通计算机中的 RAM 是使用与以下内容相对应的位序列来寻址(即由程序引用)的二的幂. 当您使用32 位操作系统,这意味着程序最多可以使用 32 位来描述每个地址。从根本上讲,这个 32 位限制在于硬件:x86 系列处理器最初仅为地址保留了 32 位。
不同总数独特的32 位所能组织的序列数为 4,294,967,296。对于计算机来说,这意味着您只能引用内存中那么多不同的地址。要指向更多地址(以便每个地址仍然保持唯一),您必须拥有更多位。
这个大数字相当于 4 GB。至于为什么在实践中,它实际上可以比这个数字少四分之一,3 GB 屏障 维基百科文章将会解释。
物理地址扩展或 PAE,在硬件层面上,是 x86 处理器中 32 位寻址的扩展:PAE 处理器有 36 位内存,从而扩展了操作系统可用的地址范围(操作系统随后会将这些内存分配给各个程序)。当您安装 PAE 内核时,实际上是在为这个扩展的 x86 硬件安装低级操作系统支持。
如果您拥有 64 位处理器(大多数现代处理器都是如此),则可以运行使用 64 位寻址内存的操作系统和应用程序。这总共为它们提供了“18446744073709551616 个不同的值,超过 18 千万亿个数字“至少从理论上讲,这意味着在你拥有超过 16.8 TB 的 RAM 之前,你不会用完地址。