如何判断一个Linux系统是否有巨大的内存?

i386 Linux内核可针对每个进程AFAIK的虚拟地址空间configuration2,3或4 GiB限制。 有什么我可以在/ proc或其他地方查询,以告诉如何configuration当前运行的内核?

更新:感谢如何查询4G的答案。 任何方式,我可以查询2G与3G?

在某些内核上(取决于configuration),将configuration导出到/ proc中,试试这个:

$ zcat /proc/config.gz | grep -i "CONFIG_HIGHMEM" 

你可以“grep”你想知道的其他东西。

在Ubuntu 9.04上:

 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=9.04 DISTRIB_CODENAME=jaunty DISTRIB_DESCRIPTION="Ubuntu 9.04" $ uname -r 2.6.28-11-generic $ grep -i "CONFIG_HIGHMEM4G" /boot/config-`uname -r` CONFIG_HIGHMEM4G=y 

大多数Fedora发行版都包含用于创build内核vmimage的configuration,尝试类似这样的操作

 $ cat /etc/redhat-release Fedora release 10 (Cambridge) $ grep -i "CONFIG_HIGHMEM4G" /boot/config-`uname -r` CONFIG_HIGHMEM4G=y 

对于Ubuntu和Debian发行版来说也是如此。