Name
NOHIGHMEM — off
Linux can use up to 64 Gigabytes of physical memory on x86 systems. However, the address space of 32-bit x86 processors is only 4 Gigabytes in size. That means that, if you have a large amount of physical memory, not all of it can be permanently mapped by the kernel. The physical memory that's not permanently mapped is called high memory.
If you are compiling a kernel that will never run on a machine
with more than 1 Gigabyte total physical RAM, answer off
here (the default choice, and suitable
for most users). This will result in a 3GB/1GB
split: 3GB are mapped so that each
process sees a 3GB virtual memory space and the remaining part of the
4GB virtual memory space is used by the kernel to permanently map as
much physical memory as possible.
If the machine has between 1 and 4 Gigabytes physical RAM, then
answer 4GB
here.
If more than 4 Gigabytes is used, answer 64GB
here. This selection turns Intel PAE
(Physical Address Extension) mode on. PAE implements 3-level paging on
IA32 processors. PAE is fully supported by Linux, and PAE mode is
implemented on all recent Intel processors (Pentium Pro and
better).
Note
If you say 64GB
here, then
the kernel will not boot on CPUs that don't support PAE!
The actual amount of total physical memory will either be
autodetected or can be forced by using a kernel command line option
such as mem=256M
. (See Chapter 9 for details about how to pass options to
the kernel at boot time, and what options available.)
If unsure, say off
.
Get Linux Kernel in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.