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.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access