3 ms·
What kind of setups use over 256 TiB of RAM?
by cornstalks 1y ago
What kind of setups use over 256 TiB of RAM?
- reorder9695 1y ago"640k ought to be enough for anybody"
- bonzini 1y agoIn practice it's over 64 TiB because kernels often use a quarter of the available addressing space (half of the kernel addressing space) to map the physical addresses (e.g. FFFFC000_12345678 maps physical address 0x12345678). So 48 virtual address bits can be used with up to 2^46 bytes of RAM.
- hinkley 1y agoAnd how long has 48 bit addressing been de rigeur? Not so long ago we had processors that could address 40 bits of address space. Or was that 38?
- deleted 1y ago[deleted]
- winocm 1y agoAt least since maybe the DEC Alpha 21264. It could address 48-bits of VA space, but that comes with caveats due to PALcode specific intricacies. I think VMS (or was it Tru64?) uses this mode, but many other OSes just use 43-bit or 40-bit addressing. Realistically though, I don’t think many users would be using workloads that addressed more than 38-bits worth of contiguous VA space in 1998-1999.
- loeg 1y agoamd64 has had 48-bit addressing / 4-level paging from the beginning.
- hinkley 1y agoI must be thinking of intel’s failed 64 bit attempts prior to amd64 winning.
- wittystick 1y agoPhysical addresses may be limited to 40 bits, but 48-bit virtual addresses have been the norm since 4-level paging.
- bonzini 1y agoYou're probably thinking of PAE (36 bit physical address space on 32 bit virtual address space). But Intel for quite some time had a 36 bit physical address space limit on 64-bit consumer processors, even if the virtual address space was 48 bits. I think it only changed 5 years ago or less.
- TapamN 1y agoIt not necessarily physical RAM. If you memmap large files, like maybe a large file from RAID or network share, you could still need that much virtual address space.
- Dylan16807 1y agoDo many programs want to use that much data but not control when it swaps in and out?
- wittystick 1y agoNo, but 5-level paging is opt-in anyway, so its presence isn't problematic if assuming a 48-bit address space. Linux won't allocate space outside the 48-bits unless you give an address hint to mmap outside the 48-bit range.