Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo di Multi-Gen LRU (MGLRU) su kernel 023 AL2
Il Multi-Gen LRU
Il meccanismo LRU tradizionale utilizza un modello a due elenchi (attivo e inattivo) per tenere traccia dell'utilizzo delle pagine, il che può diventare inefficiente nei carichi di lavoro moderni con set di lavoro di grandi dimensioni. MGLRU lo sostituisce con più «generazioni» di pagine, permettendo al kernel di prendere decisioni più intelligenti sulla base di informazioni dettagliate sull'invecchiamento.
I vantaggi di MGLRU includono:
-
Decisioni di recupero migliori: identificazione più accurata delle pagine fredde (non utilizzate).
-
Latenza inferiore e velocità effettiva migliorata: in particolare per carichi di lavoro con ampi spazi di indirizzi o molti processi simultanei.
-
Migliore conservazione della cache: le pagine utilizzate di recente hanno meno probabilità di essere rimosse prematuramente.
-
Design scalabile ed efficiente in termini di blocco: offre prestazioni migliori su macchine con molte unità. CPUs
Configurazione e ottimizzazione
La configurazione del kernel CONFIG_LRU_GEN
è abilitata sui kernel AL2 023. Questa viene compilata in MGLRU ma non la abilita di default.
MGLRU può essere abilitato e ottimizzato utilizzando il file. /sys/kernel/mm/lru_gen/enabled
Il valore è una maschera di bit. Si consiglia di attivare tutti i componenti a meno che alcuni di essi non abbiano effetti collaterali indesiderati.
Bit | Componenti |
---|---|
0 |
Lo switch principale per la LRU multigenerazione. |
1 |
Cancellazione del bit a cui si accede nelle voci della tabella Leaf Page in grandi quantità, quando MMU lo imposta (ad esempio, su x86). Questo comportamento può teoricamente peggiorare lock contention (). mmap_lock Se è disabilitato, la LRU multigenerazione subirà un lieve peggioramento delle prestazioni per i carichi di lavoro che mappano in modo contiguo le pagine calde, i cui bit a cui si accede potrebbero altrimenti essere cancellati da un minor numero di batch di dimensioni maggiori. |
2 |
Cancellazione del bit a cui si accede anche nelle voci di tabella non a foglia, quando MMU lo imposta (ad esempio, su x86). Questo comportamento non è stato verificato su varietà x86 diverse da Intel e AMD. Se è disattivata, la LRU multigenerazione subirà un degrado delle prestazioni trascurabile. |
[yYnN] |
Enable/disable tutti i componenti di cui sopra. |
Un esempio di come MGLRU può essere abilitato:
[ec2-user ~]$
echo y >/sys/kernel/mm/lru_gen/enabled
Ciò abilita tutti i componenti:
[ec2-user ~]$
cat /sys/kernel/mm/lru_gen/enabled
0x0007