Назад | Перейти на главную страницу

Как узнать, есть ли в системе Linux hugemem?

Ядра i386 Linux могут быть настроены на ограничение виртуального адресного пространства на процесс в 2, 3 или 4 ГиБ, AFAIK. Есть ли что-то, что я могу запросить в / proc или где-нибудь еще, чтобы узнать, как было настроено работающее в данный момент ядро?

Обновить: Спасибо за ответы о том, как запросить 4G. В любом случае я могу запросить 2G против 3G?

На некоторых ядрах (зависит от конфигурации) конфиг экспортируется в / 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 включают конфигурацию, используемую для создания vmimage ядра, попробуйте что-нибудь вроде этого

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

Это также может быть верно для дистрибутивов Ubuntu и Debian.

Я нашел полезное резюме обсуждения этого вопроса в списке рассылки ядра на http://www.spack.org/wiki/LinuxRamLimits