我有一台安装了 4GB RAM 的 Asus 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
答案1
您可以安装 64 位版本,但如果您不想这样做,您可以在 32 位版本上安装启用 PAE(物理地址扩展)的内核。
在 10.04 之后,如果 Ubuntu 检测到超过 3 GB 的内存,它会自动安装启用 PAE 的内核。但是Ubuntu 维基说:
对于 liveCD,需要有效的网络连接,因为 CD 上没有启用 PAE 的内核包。
所以我猜你是在没有互联网连接的情况下使用 CD 安装了 Ubuntu。
尝试这个:
sudo apt-get 安装 linux-generic-pae linux-headers-generic-pae
物理地址扩展是一种允许 32 位操作系统使用最多 64 GB 内存 (RAM) 的技术,这通常通过切换到 64 位系统来实现。目前大多数计算机都支持 PAE,如果尚未启用,在 Ubuntu 中启用它很简单。要检查您的处理器是否支持 PAE,请尝试
grep --color=always -i PAE /proc/cpuinfo
一般来说,如果您有 4 Gb 或更多内存和/或想要充分利用 64 位架构(请参阅 32bit_and_64bit),建议使用合适的 64 位系统,但在某些情况下,完全切换到 64 位并不可取,而使用 PAE 可能是一个可行的折衷方案。
值得注意的是,没有虚拟地址扩展。即应用程序仍然获得相同数量的虚拟内存,因为虚拟地址仍然是 32 位,而物理地址是 36 位。因此 PAE 根本不等同于 64 位系统。
答案2
如果您安装了 32 位版本的 Ubuntu,它将无法识别超过 4GB 的内存。您需要安装 64 位版本的 Ubuntu,系统才能识别超过 4GB 的内存。
也可以看看:
请注意,现在的标准是 Ubuntu 映像要使用启用 PAE 的内核进行构建和发布,这样可以在 32 位系统上使用超过 4GB 的 RAM。但是,这要求您的系统使用支持 PAE 的处理器。如果您的系统足够老旧,PAE 内核将无法工作,并且上述 4GB 内存限制仍然有效。
答案3
打开 /var/log/dmesg/dmesg 并查找开头附近的如下部分:
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 000000000009d800 (usable)
[ 0.000000] BIOS-e820: 000000000009d800 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
发布该部分以供详细分析。还可以在下面找到另一行,如下所示:
[ 0.000000] Memory: 4019820k/4972544k available (5694k kernel code, 798616k absent, 154108k reserved, 2514k data, 944k init)
通常情况下,视频内存会占用 3-4 GB 区域的空间。在某些系统上,这些内存会丢失。在其他系统中,这些内存可以重新映射,通常超过 4GB 标记,您需要 pae 或 64 位内核才能访问。
答案4
从启动菜单(或安装介质)中运行 memtest(“测试内存”),如果第一个屏幕报告的内存小于 4Gb,请升级(Flash *ROM)您的 BIOS。
运行 sudo lshw 来确定主板的型号,然后前往供应商的网站并下载最新的 BIOS。