Huge pages
Pagine di memoria molto più grandi dei 4 KB standard, tipicamente 2 MB o 1 GB. Meno pagine, più grandi, riducono la pressione sul TLB (la cache delle traduzioni di indirizzo) e migliorano le prestazioni dei carichi con molta memoria, come database e macchine virtuali.
Il problema: la CPU mette in cache nel TLB la traduzione da indirizzo virtuale a fisico; con pagine da 4 KB, grandi quantità di memoria richiedono un numero enorme di voci, e i TLB miss costano prestazioni. Le huge page mappano molta più memoria per voce: meno miss e tabelle delle pagine più piccole. Casi d'uso: Postgres/Oracle/JVM con heap grandi, guest KVM, HPC. Linux offre hugepages esplicite (preallocate) e Transparent Huge Pages (THP, automatiche), e per ironia queste ultime a volte penalizzano i database (picchi di latenza): per Postgres e Redis si consiglia di disattivarle. Compromesso: riducono la flessibilità rispetto alla frammentazione. Un classico parametro di tuning per i server con molta memoria. Collegate a NUMA e swap.