Linux – Why is the theoretical RAM limit for RHEL 6 128 TB and how is this determined

linux-kernelmemoryramrhelvirtual-memory

I'm studying for RHCSA and am confused by a statement I came across in some training material:

There is no practical maximum RAM, as theoretically, you could run 128 TB of RAM on RHEL 6. But that's just theory. The maximum RAM supported by Red Hat on RHEL 6 is 16 GB on 32-bit systems and 2 TB on 64-bit systems.

Can someone please explain where the 128 TB theoretical limit is coming from? I'm confused on how the author knows the theoretical limit exists if RHEL 6 clearly defines other maximum limits. Is this just factoring in the theoretical limits of 64-bit architecture? Or is there some other reason here?

Best Answer

From the kernel documentation, in Documentation/x86/x86_64/mm.txt:

Virtual memory map with 4 level page tables:

0000000000000000 - 00007fffffffffff (=47 bits) user space, different per mm

247 bytes = 128TiB

Related Question