Cos'è hugepages
HugePages è una funzionalità integrata nel kernel Linux con la versione 2.6. Questa funzione fornisce fondamentalmente l'alternativa alla dimensione della pagina 4K (16K per IA64) fornendo pagine più grandi. HugePages è un metodo per avere pagine più grandi dove è utile per lavorare con una memoria molto grande.
Configura hugepages utilizzando il parametro sintonizzabile del kernel vm.nr_hugepages
1. Modifica /etc/sysctl.conf e specifica il numero di hugepages in nr_hugepages parametro. La voce fa sì che il parametro persista tra i riavvii ma non diventa effettivo finché non esegui il comando 'sysctl -p' descritto nel passaggio successivo.
# vi /etc/sysctl.conf vm.nr_hugepages = 10
2. Esegui il comando 'sysctl -p' per abilitare il parametro hugepages.
# sysctl -p ... vm.nr_hugepages = 10Nota :Si consiglia di riavviare il sistema dopo aver configurato hugepages poiché le possibilità di avere memoria contigua libera (per l'allocazione di hugepages) sono molto maggiori all'avvio di un sistema.
Verifica
Per verificare l'impostazione del parametro hugepages, utilizzare uno dei due metodi indicati di seguito:
1. controlla il file /proc/meminfo :
# cat /proc/meminfo | grep Huge HugePages_Total: 10 HugePages_Free: 10 HugePages_Rsvd: 0 Hugepagesize: 2048 kB
dove:
EnormePages_Totale – la dimensione del pool di pagine enormi.
HugePages_Free – il numero di pagine enormi nel pool che non sono ancora utilizzate.
HugePages_Rsvd – il numero di pagine enormi impegnate per essere allocate dal pool ma non è stata ancora effettuata alcuna assegnazione.
HugePages_Surp – è l'abbreviazione di "surplus" ed è il numero di pagine enormi nel pool al di sopra del valore in /proc/sys/vm/nr_hugepages. Il numero massimo di pagine enormi in eccesso è controllato da /proc/sys/vm/nr_overcommit_hugepages.
# sysctl a | grep nr_hugepages vm.nr_hugepages = 10
Come calcolare le pagine enormi
Le pagine enormi utilizzate possono essere calcolate con il metodo seguente. Utilizza i valori dell'output di "cat /proc/meminfo" nella formula seguente.
HugePages_Total - HugePages_Free = HugePages_UsedRHEL/CentOS 6,7 :Come calcolare la dimensione di hugepage utilizzata da un processo/applicazione specificato