Pagine enormi esplicite V/s Pagine enormi trasparenti
Ci possono essere due tipi di HugePages nel sistema:Pagine enormi esplicite che vengono allocate esplicitamente dal parametro sysctl vm.nr_hugepages e Pagine enormi trasparenti che vengono allocate automaticamente dal kernel.
Verifica se THP è abilitato
"tuned.service ” su CentOS / RHEL 7 imposta la transparent_hugepage sempre per impostazione predefinita. Anche se è disabilitato nella riga di comando del kernel grub, il servizio ottimizzato lo imposterà su "sempre ' durante l'avvio. Sotto l'output del comando conferma che i THP sono abilitati sul sistema.
# cat /sys/kernel/mm/transparent_hugepage/enabled [always] madvise neverNota :Transparent Huge Pages non può essere abilitato/disabilitato su una macchina in esecuzione e richiede un riavvio.
Passaggi per disabilitare THP
1. Aggiungi "transparent_hugepage=mai ” opzione del parametro kernel nel file di configurazione grub2. Aggiungi o modifica "transparent_hugepage=never ” parametro del kernel su GRUB_CMDLINE_LINUX opzione in /etc/default/grub file.
# vi /etc/default/grub GRUB_TIMEOUT=5 GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="nomodeset crashkernel=auto rd.lvm.lv=vg_os/lv_root rd.lvm.lv=vg_os/lv_swap rhgb quiet transparent_hugepage=never" GRUB_DISABLE_RECOVERY="true"
2. Ricostruisci il file /boot/grub2/grub.cfg eseguendo grub2-mkconfig -o comando. Prima di ricostruire il file di configurazione di GRUB2, assicurati di eseguire un backup del file /boot/grub2/grub.cfg esistente.
Su macchine basate su BIOS
# grub2-mkconfig -o /boot/grub2/grub.cfg
Su macchine basate su UEFI
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
3. Riavvia il sistema e verifica che le opzioni siano attive.
# shutdown -r now
4. Verificare che il parametro sia impostato correttamente
# cat /proc/cmdline BOOT_IMAGE=/vmlinuz-3.10.0-514.10.2.el7.x86_64 root=/dev/mapper/vg_os-lv_root ro nomodeset crashkernel=auto rd.lvm.lv=vg_os/lv_root rd.lvm.lv=vg_os/lv_swap rhgb quiet transparent_hugepage=never LANG=en_US.UTF-8
Risoluzione dei problemi
Se Transparent Huge Pages (THP) non è ancora disabilitato, continua e utilizza una delle opzioni seguenti.
1. Disattiva i servizi sintonizzati
Disattiva i servizi sintonizzati se sta riabilitando il THP utilizzando uno dei comandi seguenti.
# systemctl stop tuned # systemctl disable tuned
O
# tuned-adm off
1. Un altro modo consigliato è creare un profilo sintonizzato personalizzato con THP disabilitato. Scopri quale profilo è attivo, creane una copia. Nell'esempio seguente utilizziamo attualmente il profilo di prestazioni di throughput:
# tuned-adm active Current active profile: throughput-performance
2. Per creare un profilo personalizzato, crea una nuova directory in /etc/tuned directory con il nome del profilo desiderato.
# mkdir /etc/tuned/nothp_profile
3. Quindi crea un nuovo file tuning.conf per nothp_profile e inserisci le nuove informazioni di ottimizzazione:
# cat /etc/tuned/nothp_profile/tuned.conf [main] include= throughput-performance [vm] transparent_hugepages=never
4. Rendi eseguibile lo script.
# chmod +x /etc/tuned/nothp_profile/tuned.conf
5. Abilita nothp_profile usando il comando tuning-adm.
# tuned-adm profile nothp_profile
6. Questa modifica avrà effetto immediato e persisterà il riavvio. Per verificare se THP è disabilitato o meno, esegui il comando seguente:
# cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never]CentOS / RHEL 6:come disabilitare le pagine trasparenti enormi (THP)