i'm not entirely sure that letting our computers develop a galloping addiction to virtual memory, no matter how much physical memory they have, was such a good idea, given the parallel replacement of spinning rust that wears out with age by solid-state media that wears out with write cycles
i mean, yes, i can see how virtual memory might have been relevant when we had 16MB machines. but we have 16GB machines now, and as far as i can tell the only use cases for virtual memory are "we don't have to load all 237 shared libraries into memory at once" and "our memory leaks end up swapped out".
especially in these days of pervasive managed environments, like Java or ART or CLR. virtual memory has to be subservient to the garbage collector (eg ZGC using the ability to map pages several times), otherwise they end up at cross purposes. and even then, page faults are massively more expensive than tests and conditional branches!