Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

i386 Linux kernels can be configured for a 2, 3 or 4 GiB limit on virtual address space per process, AFAIK. Is there something I can query in /proc or elsewhere to tell how the currently-running kernel was configured?

Update: Thanks for the answers on how to query for 4G. Any way I can query for 2G vs 3G?

share|improve this question
up vote 7 down vote accepted

On some kernels (depends on configuration), the config is exported in /proc, try this:

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

You could 'grep' for anything else you'd like to know.

share|improve this answer

On Ubuntu 9.04:

$ cat /etc/lsb-release 
$ uname -r
$ grep -i "CONFIG_HIGHMEM4G" /boot/config-`uname -r`
share|improve this answer

Most Fedora distros include the config used to create the kernel vmimage, try something like this

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

This may also be true for Ubuntu and Debian distributions.

share|improve this answer

I found a useful summary of kernel mailing list discussion on this at

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.