Explizite Huge Pages vs. transparente Huge Pages
Es kann zwei Arten von HugePages im System geben:Explizite Huge Pages, die explizit durch den sysctl-Parameter vm.nr_hugepages zugewiesen werden, und transparente Huge Pages, die automatisch vom Kernel zugewiesen werden.
Überprüfen Sie, ob THP aktiviert ist
„tuned.service ” auf CentOS / RHEL 7 setzen Sie die transparent_hugepage immer standardmäßig. Selbst wenn es in der Grub-Kernel-Befehlszeile deaktiviert ist, wird es vom optimierten Dienst auf „immer“ gesetzt ‘ während des Bootens. Bestätigen Sie unter der Befehlsausgabe, dass die THP auf dem System aktiviert sind.
# cat /sys/kernel/mm/transparent_hugepage/enabled [always] madvise neverHinweis :Transparente Huge Pages können auf einem laufenden Computer nicht aktiviert/deaktiviert werden und erfordern einen Neustart.
Schritte zum Deaktivieren von THP
1. Fügen Sie „transparent_hugepage=never“ hinzu ” Kernel-Parameteroption in die grub2-Konfigurationsdatei. Hängen Sie die Datei „transparent_hugepage=never an oder ändern Sie sie ” Kernelparameter auf GRUB_CMDLINE_LINUX Option in /etc/default/grub Datei.
# 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. Erstellen Sie die Datei /boot/grub2/grub.cfg neu, indem Sie grub2-mkconfig -o ausführen Befehl. Stellen Sie vor dem Neuaufbau der GRUB2-Konfigurationsdatei sicher, dass Sie eine Sicherungskopie der vorhandenen Datei /boot/grub2/grub.cfg erstellen.
Auf BIOS-basierten Computern
# grub2-mkconfig -o /boot/grub2/grub.cfg
Auf UEFI-basierten Computern
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
3. Starten Sie das System neu und überprüfen Sie, ob die Option wirksam ist.
# shutdown -r now
4. Vergewissern Sie sich, dass der Parameter richtig eingestellt ist
# 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
Fehlerbehebung
Wenn Transparent Huge Pages (THP) immer noch nicht deaktiviert ist, fahren Sie fort und verwenden Sie eine der folgenden Optionen.
1. Abgestimmte Dienste deaktivieren
Deaktivieren Sie die abgestimmten Dienste, wenn THP mit einem der folgenden Befehle wieder aktiviert wird.
# systemctl stop tuned # systemctl disable tuned
ODER
# tuned-adm off
2. Erstellen Sie ein benutzerdefiniertes optimiertes Profil mit deaktiviertem THP
1. Eine andere und empfohlene Möglichkeit besteht darin, ein benutzerdefiniertes optimiertes Profil mit deaktiviertem THP zu erstellen. Finden Sie heraus, welches Profil aktiv ist, erstellen Sie eine Kopie. Im folgenden Beispiel verwenden wir derzeit das Durchsatz-Leistungsprofil:
# tuned-adm active Current active profile: throughput-performance
2. Um ein benutzerdefiniertes Profil zu erstellen, erstellen Sie ein neues Verzeichnis in /etc/tuned Verzeichnis mit dem gewünschten Profilnamen.
# mkdir /etc/tuned/nothp_profile
3. Erstellen Sie dann eine neue tuned.conf-Datei für nothp_profile und fügen Sie die neuen Tuning-Informationen ein:
# cat /etc/tuned/nothp_profile/tuned.conf [main] include= throughput-performance [vm] transparent_hugepages=never
4. Machen Sie das Skript ausführbar.
# chmod +x /etc/tuned/nothp_profile/tuned.conf
5. Aktivieren Sie nothp_profile mit dem Befehl tuned-adm.
# tuned-adm profile nothp_profile
6. Diese Änderung wird sofort wirksam und bleibt bei Neustarts bestehen. Um zu überprüfen, ob THP deaktiviert ist oder nicht, führen Sie den folgenden Befehl aus:
# cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never]CentOS / RHEL 6 :So deaktivieren Sie Transparent Huge Pages (THP)