为什么Ubuntu仅显示3GB RAM?


27

我有一台安装了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

仅出于好奇,您可以发布free命令的输出吗?

另请参阅此答案
塔卡特2011年

Answers:


30

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

也可以看看:


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


30
或32位PAE版本的内核。

2
@aneal:在这种情况下,Ubuntu不会使用任何超过3GB的内存。我在回答中添加了原因,因此您必须安装64位版本或PAE。
佩德拉姆

2
@EvilPhoenix:严格来说,这不是真的,如果他们启动64位livecd并手动安装ubuntu(又名aka debootstrap/cdebootstrap),则它们的设置/文件将是完整的(当然除外)/etc
OneOfOne 2011年

2
非PAE的32位内核的上限为4GB,而不是3
psusi

2
@psusi最多可有3.6 GB的非PAE内核(也是Thomas)的内存,要考虑到Ubuntu现在为所有内容构建了pae内核,在最近的发行版中没有非pae内核。
Braiam

40

您可以安装64位版本,但如果不想执行此操作,则可以在32位版本上安装启用PAE(物理地址扩展)的内核。

10.04之后,如果Ubuntu检测到3 Gb以上的内存,则会自动安装启用了PAE的内核。但是ubuntu Wiki说:

对于liveCD,由于CD上没有启用PAE的内核软件包,因此需要有效的网络连接。

因此,我想您是使用CD在没有Internet连接的情况下安装Ubuntu的。

尝试这个:

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


什么是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位系统。


有性能开销吗?
Ashfame 2011年

但是不是64位系统仅适用于AMD处理器吗?
Starx 2011年

1
@Pedram非常感谢!这应该是正确的答案,因为它引入了另一种绕过限制而不重新安装系统的可能性。我安装了这些Linux内核软件包,并在重新启动后获得了4GB的RAM。非常感谢。
亚历杭德罗·加西亚·伊格莱西亚斯

请注意,这些天,Ubuntu取消了非PAE 32位内核。
psusi

2

打开/ 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位内核来进行访问。


2
我只是想评论一下,即使安装64位,我的华硕主板也丢失了1GB的内存。正如这个答案所暗示的,我必须在BIOS中重新映射。
user1974 2011年

1

您有三种解决方案,其中两种已经被建议:

  • 在i386安装上安装64位内核;在Debian上,只需安装kernel-image-2.6-amd64-k8amd64-libs
  • 安装激活了PAE的32位内核
  • 重新安装完整的64位系统

但是不是64位系统仅适用于AMD处理器吗?
Starx 2011年

不,英特尔在Itanium系列失败时采用了amd64指令集,它已成为事实上的标准。
sam hocevar 2011年

我有Intel Core i 7 720 Qm。它会在那里运行吗?
Starx 2011年

是。请在此处查看兼容的Intel CPU列表:en.wikipedia.org/wiki/X86-64#Intel_64_implementations
sam hocevar 2011年

0

如果第一个屏幕报告的内存小于4Gb,请从启动菜单(或安装介质)中朗读memtest(“测试内存”),升级BIOS(闪存* ROM)。

运行sudo lshw以确定您的主板型号,然后前往供应商的站点和DL tje最新的BIOS。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.