Re: Maximum Physical Memory on 2.4 and ia32

Andrew Morton (akpm@digeo.com)
Sun, 01 Dec 2002 18:44:21 -0800


Stephen Rothwell wrote:
>
> Hi all,
>
> This may be a FAQ (but I did search).
>
> Given this statement by RedHat:
>
> "RAM Limitations on IA32
>
> Red Hat Linux releases based on the 2.4 kernel -- including Red Hat Linux
> 7.1, 7.2, 7.3 and Red Hat Linux Advanced Server 2.1 -- support a maximum
> of 16GB of RAM. Previous product announcements from Red Hat suggested that
> Red Hat Linux 7.1 (and by extension, other releases based on the 2.4
> kernel) supported up to 64GB of RAM. A more accurate statement is the
> 2.4-based kernels included in Red Hat Linux 7.1, 7.2, 7.3 and Red Hat
> Linux Advanced Server 2.1 support the hardware extensions that support up
> to 64GB of RAM. This is an important distinction: while the hardware will
> indeed support up to 64GB of physical memory, the operating system design
> limits the supported physical memory to approximately 16GB."
>
> (http://www.redhat.com/services/techsupport/production/GSS_caveat.html)
> What are the "operating system design limits" that restrict the amount of
> supported memory to 16GB?

It's a practical limit. The mem_map array alone would consume 720 megabytes,
so you have no normal-zone memory left.

At 16G, mem_map[] consumes 180 megabytes and there's 540ish megabytes
of normal zone left for general use.

Even at this 20:1 highmem:lowmem ratio, the system will be struggling.
Any time you have normal-zone data structures which are pinned by
pages, the maths gets you in the end.

buffer_heads, pagetable pages, radix-tree nodes, pte_chains and inodes
are normal-zone data structures which, depending on the kernel version,
may be pinned into the normal zone by highmem pages.

In 2.5, with ext2's no-buffer-head option, shared pagetables, highpte,
with your fingers crossed and the wind in the south east, 32G might
be practical.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/