Chapter 5. Frequently Asked Questions (FAQ)

5.1. "What's new in kernel 2.2 ?"
5.2. "What's new in kernel 2.4 ?"
5.3. "How to have more than 1 GB of RAM on my NetServer ?"
5.4. "How to have more than 128 MB of swap on my NetServer ?"
5.5. "How to use the other procesors of my NetServer ?"
5.6. "Is Linux Y2K compatible ?"
5.7. "How to increase the number of processes managed by the kernel ?"
5.8. "How to increase the number of loopback devices managed by the kernel ?"
5.9. "How to have files bigger than 2 GB on ext2 ?"
5.10. "How many NFS file systems can you mount on Linux ?"

The following information are adapted from the page of Rik van Riel. They concern 2.0.x as well as 2.2.x kernels, and 2.4.x.

First of all, the IA32 Intel architecture is limited by construction in its memory management to 4 GB. Space which should be divided into virtual memory and physical memory. Which means that if you choose to recognize more RAM, the maximum size for a program decreases.

But Linux can't manage more than 1 GB by default. To go above that, in fact up to 2 GB today, because Linux can't manage more memory for the moment, you need to modify 2 files provided with kernel sources and recompile it. Those 2 sources are /usr/src/linux/include/asm-i386/page.h and /usr/src/linux/arch/i386/vmlinux.lds.

From 2.0.37 and 2.2.12 kernels on, the patch was integrated in the kernel and may be activated when doing a make {menu,x}config.

The maximum Ram managed in the i386 version was ported to 64 GB after 2.3.23.