如何判断 Linux 系统是否具有 hugemem?

如何判断 Linux 系统是否具有 hugemem?

据我所知,i386 Linux 内核可以配置每个进程的虚拟地址空间限制为 2、3 或 4 GiB。我可以在 /proc 或其他地方查询一些东西来了解当前运行的内核是如何配置的吗?

更新:感谢您回答我关于如何查询 4G 的问题。有什么方法可以查询 2G 和 3G 吗?

答案1

在某些内核上(取决于配置),配置被导出到 /proc 中,请尝试以下操作:

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

您还可以通过“grep”查找您想知道的任何其他信息。

答案2

在 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

答案3

大多数 Fedora 发行版都包含用于创建内核 vmimage 的配置,请尝试以下操作

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

对于 Ubuntu 和 Debian 发行版来说这可能也是正确的。

答案4

我在内核邮件列表上找到了一个有用的讨论摘要http://www.spack.org/wiki/LinuxRamLimits

相关内容