我有一个4GB的内存的机器,但Linux只能检测到两个顶部和自由。 BIOS报告4。
运行i386 Debian Lenny。
您需要启用bigmem内核。
dpkg --get-selections | grep bigmem apt-get install linux-image-2.6-xxx-bigmem
您也可以检查是否可以使用:
sudo grep -i memory /var/log/dmesg [ 0.004000] Memory: 899224k/917504k available (1693k kernel code, 17724k reserved, 746k data, 320k init, 0k highmem)
highmem应该大于0k
你可以安装一个64位版本的Debian。 这假设你有一个64位处理器,这个问题并不清楚。 在32位内核上使用PAE扩展会导致性能下降,如果没有这些扩展,将无法看到完整的4GB内存。
(我会join这个作为对马克答案的评论,但是它变得太长而不适合)
正如Mark指出的,你不会看到任何32位内核的完整4Gb。 根据你的芯片组和其他因素,你会看到3.25Gb和3.75Gb之间没有PAE的性能影响。
但是你不必拥有一个完整的64位系统 – 只是一个64位的内核。 我以这种方式运行带有6Gb RAM的服务器:内核看到整个6Gb(而不是32G内核可以在机器上使用的3.5Gb),但是有32位的其他内容(我还没有find时间来完成重新安装到64位)。
aptitude install linux-image-2.6-amd64
是所有你需要做的(至less在蚀刻,这个盒子仍然是,我怀疑在Lenny的包名称已经改变)。
虽然没有一个单独的进程会看到更多的3Gb RAM(因为每个进程映射的虚拟内存空间的方式),但是您的进程总共可以使用整个进程。 在我的情况下,机器运行几个虚拟机一起消耗〜5Gb(主机操作系统使用其余的几个小东西和IOcaching/缓冲区)。 所以如果bigmem内核只能使用你的4的3.25Gb这可能是值得一试的使额外的0.75可用。
还有一点需要注意的是,如果机器的芯片组被限制在4Gb,那么即使使用64位内核(或完整的64位操作系统安装),您仍然可能发现部分RAM“缺失”。 但是我认为,如果不支持4Gb内存,就会发现不支持64位处理器的芯片组。