Explicit Huge Pages V/s Transparent Huge Pages
Il peut y avoir deux types de HugePages dans le système :les HugePages explicites qui sont allouées explicitement par le paramètre sysctl vm.nr_hugepages et les HugePages transparentes qui sont allouées automatiquement par le noyau.
Vérifiez si THP est activé
"service.tuned ” sur CentOS / RHEL 7, définissez la transparent_hugepage toujours par défaut. Même s'il est désactivé dans la ligne de commande du noyau grub, le service tuned le définira sur "toujours" ‘ pendant le démarrage. Sous la sortie de la commande, confirmez que les THP sont activés sur le système.
# cat /sys/kernel/mm/transparent_hugepage/enabled [always] madvise neverRemarque :Transparent Huge Pages ne peut pas être activé/désactivé sur une machine en cours d'exécution et nécessite un redémarrage.
Étapes pour désactiver THP
1. Ajoutez le "transparent_hugepage=jamais ” option de paramètre du noyau dans le fichier de configuration grub2. Ajoutez ou modifiez le "transparent_hugepage=jamais ” paramètre de noyau sur GRUB_CMDLINE_LINUX option dans /etc/default/grub dossier.
# 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. Reconstruisez le fichier /boot/grub2/grub.cfg en exécutant grub2-mkconfig -o commande. Avant de reconstruire le fichier de configuration GRUB2, assurez-vous d'effectuer une sauvegarde du fichier /boot/grub2/grub.cfg existant.
Sur les machines basées sur le BIOS
# grub2-mkconfig -o /boot/grub2/grub.cfg
Sur les machines basées sur UEFI
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
3. Redémarrez le système et vérifiez que l'option est active.
# shutdown -r now
4. Vérifiez que le paramètre est correctement défini
# 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
Dépannage
Si Transparent Huge Pages (THP) n'est toujours pas désactivé, continuez et utilisez l'une des options ci-dessous.
1. Désactiver les services réglés
Désactivez les services réglés s'ils réactivent le THP à l'aide de l'une des commandes ci-dessous.
# systemctl stop tuned # systemctl disable tuned
OU
# tuned-adm off
1. Une autre méthode recommandée consiste à créer un profil personnalisé avec THP désactivé. Découvrez quel profil est actif, créez une copie. Dans l'exemple suivant, nous utilisons actuellement le profil débit-performance :
# tuned-adm active Current active profile: throughput-performance
2. Pour créer un profil personnalisé, créez un nouveau répertoire dans /etc/tuned répertoire avec le nom de profil souhaité.
# mkdir /etc/tuned/nothp_profile
3. Créez ensuite un nouveau fichier tuned.conf pour nothp_profile et insérez les nouvelles informations de réglage :
# cat /etc/tuned/nothp_profile/tuned.conf [main] include= throughput-performance [vm] transparent_hugepages=never
4. Rendez le script exécutable.
# chmod +x /etc/tuned/nothp_profile/tuned.conf
5. Activez nothp_profile à l'aide de la commande tuned-adm.
# tuned-adm profile nothp_profile
6. Cette modification prendra effet immédiatement et persistera les redémarrages. Pour vérifier si THP est désactivé ou non, exécutez la commande ci-dessous :
# cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never]CentOS / RHEL 6 :Comment désactiver les pages Transparent Huge (THP)