Re: Maximum Physical Memory on 2.4 and ia32

Martin J. Bligh (mbligh@aracnet.com)
Sun, 01 Dec 2002 22:48:14 -0800


> 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.

32Gb was indeed what we've been working towards for 2.6, and we've
been running that on some workloads.

However, if you're willing to run with a 2:2 or even a 1:3 user:kernel
split instead of the default 3:1, you can get away with all sorts of
things, probably including 64Gb. I've got the hardware to build such
a beast, but haven't bothered yet (we have enough problems already ;-)).
Big databases won't like it, but other workloads without huge individual
processes (or shared mappings) will be fine.

M.

-
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/