Embed Notice
HTML Code
Corresponding Notice
- Embed this notice@Suiseiseki@freesoftwareextremist.com Likely mmap. Mapping a range of addresses is not really allocating the memory. For example, using the LMDB C library, if you create a 20GiB database file, it appears that your processes is using 20GiB of memory, but that's just virtual memory addresses, being backed by a file on disk, not RAM.
20TiB still sounds ridiculous, it's usually a case of "I'll map 1TiB here, because we'll never need 1TiB of addresses", and then that thing gets called 20 times, and you get 20TiBs of virtual memory.