为什么 Ubuntu 只显示 3GB 的内存?

neb*_*ula 28 ram

我有一台安装了 4GB 内存的华硕 G50vt-x5 笔记本电脑。但是 Ubuntu 10.10 仅显示 3GB 的 RAM。为什么它只显示 3GB 的 RAM 而不是完整的 4GB?free命令的输出是:

neal@ubuntu:~$ free
             total       used       free     shared    buffers     cached
Mem:       3095668    2972784     122884          0     747996    1590044
-/+ buffers/cache:     634744    2460924
Swap:            0          0          0
Run Code Online (Sandbox Code Playgroud)

Ped*_*ram 40

您可以安装 64 位版本,但如果您不想这样做,您可以在 32 位版本上安装启用 PAE(物理地址扩展)的内核。

在 10.04 之后,如果 Ubuntu 检测到超过 3 Gb 的内存,它会自动安装启用 PAE 的内核。但是ubuntu wiki说:

在 liveCD 的情况下,需要有效的网络连接,因为启用 PAE 的内核包不在 CD 上。

所以我猜你在没有互联网连接的情况下使用 CD 安装了 Ubuntu。

尝试这个:

sudo apt-get install linux-generic-pae linux-headers-generic-pae


什么是PAE?

物理地址扩展是一种允许 32 位操作系统使用高达 64 Gb 内存 (RAM) 的技术,这通常通过切换到 64 位系统来实现。如今,大多数计算机都支持 PAE,如果尚未在 Ubuntu 中启用它,那么在 Ubuntu 中启用它是一个简单的过程。要检查您的处理器是否支持 PAE,请尝试

grep --color=always -i PAE /proc/cpuinfo

一般来说,如果您有 4 Gb 或更多内存和/或想要获得 64 位架构的全部好处(请参阅 32bit_and_64bit),建议使用合适的 64 位系统,但在某些情况下,完全切换到 64 位并不是需要,并且使用 PAE 可能是一个可行的折衷方案。

需要注意的是,没有虚拟地址扩展。即应用程序仍然获得相同数量的虚拟内存,因为虚拟地址仍然是 32 位,而物理地址是 36 位。因此,PAE 根本不等同于 64 位系统。


Tho*_*ard 30

如果您安装了 32 位版本的 Ubuntu,它将无法识别超过 4GB 的内存。您需要安装 64 位版本的 Ubuntu,系统才能识别超过 4GB 的内存。

也可以看看:


请注意,现在的标准是为 Ubuntu 映像构建和发布启用 PAE 的内核,该内核允许在 32 位系统上使用超过 4GB 的 RAM。但是,这需要在您的系统中使用支持 PAE 的处理器。如果您的系统足够旧,PAE 内核将无法工作,上述 4GB 内存限制仍然有效。

  • 或者 32 位 PAE 版本的内核。 (30认同)
  • @aneal:在这种情况下,Ubuntu 不会使用超过 3GB 的任何内存量。我在答案中添加了原因。所以你必须安装 64 位版本或 PAE。 (2认同)
  • @EvilPhoenix:严格来说这不是真的,如果他们启动 64 位 livecd 并手动安装 ubuntu(又名`debootstrap/cdebootstrap`),他们的设置/文件将完好无损,当然`/etc`除外。 (2认同)
  • 非 pae 32 位内核的限制是 4gb,而不是 3。 (2认同)
  • @psusi 非 PAE 内核的最大内存为 3.6 GB,Thomas 也考虑到 Ubuntu 现在为所有内容构建 pae 内核,最近版本中没有非 PAE 内核。 (2认同)