3 ms·
There's several situations that need to be addressed in every VMM: Cold pages - not being used Warm/normal pages - average use pages Hot pages - being used
by throwaway3627 7y ago
There's several situations that need to be addressed in every VMM:
Cold pages - not being used
Warm/normal pages - average use pages
Hot pages - being used a lot
1. LRU/histogramming cold RO-code/RO-data pages to be paged out (dropped) or compressed when other pages are hotter and there's memory pressure.
2. Compressing or paging out to disk volatile RW-data when cold and other pages are hotter and there's memory pressure.
3. Pinning in memory (compressed and/or uncompressed) pages that are hot for performance reasons, unlocking them when they become less hot or others become hotter.
4. Having the ability (like on macOS) to signal applications that the system is under severe memory pressure (say "SIGMEM", "SIGLOWMEM" or "SIGOOM"), and to drop volatile data that can regenerated or is ephemeral.
- caf 7y agoIn this case the RW data (private dirty) can't be paged out even if cold because the OP is inadvisedly running without swap. This leaves the VM very few targets to drop.