GNU/Linux >> LINUX-Kenntnisse >  >> Linux

CentOS / RHEL 6 :So deaktivieren Sie Transparent Huge Pages (THP)

Transparent Huge Pages (THP) sind in RHEL 6 standardmäßig für alle Anwendungen aktiviert. Der Kernel wird immer versuchen, eine Speicherzuweisung mithilfe von Hugepages zu erfüllen. Wenn keine Hugepages verfügbar sind (z. B. aufgrund der Nichtverfügbarkeit von physisch kontinuierlichem Speicher), greift der Kernel auf die regulären 4-KB-Seiten zurück.

Explizite Huge Pages vs. transparente Huge Pages

Es kann zwei Arten von HugePages im System geben:Explizite Huge Pages die explizit durch den vm.nr_hugepages sysctl-Parameter und Transparent Huge Pages zugewiesen werden die vom Kernel automatisch zugewiesen werden.

Überprüfen Sie, ob THP aktiviert ist

„tuned.service“ auf CentOS / RHEL 7 setzt die transparent_hugepage standardmäßig auf immer. Selbst wenn es in der Grub-Kernel-Befehlszeile deaktiviert ist, wird es vom optimierten Dienst auf „immer“ gesetzt ‘ während des Bootens. Die Datei /sys/kernel/mm/redhat_transparent_hugepage/enabled gibt den aktuellen Status von THP an (aktiviert/deaktiviert). Die Werte für /sys/kernel/mm/redhat_transparent_hugepage/enabled können einer der folgenden sein:

always   -  always use THP
never    -  disable THP

Bestätigen Sie unter der Befehlsausgabe, dass THP auf dem System aktiviert oder deaktiviert ist.
Ausgabe, wenn THP aktiviert ist

# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never

Ausgabe, wenn THP deaktiviert ist

# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]

1. Zum Deaktivieren von THP beim Booten

1. Hängen Sie den Parameter transparent_hugepage=never an zur Kernel-Kommandozeile in /etc/grub.conf:

# vim /etc/grub.conf
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux 6 (2.6.32-504.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-504.el6.x86_64 ro root=/dev/mapper/vg_os-lv_os rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_os/lv_os  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet transparent_hugepage=never
        initrd /initramfs-2.6.32-504.el6.x86_64.img

2. Fügen Sie der Datei /etc/rc.d/rc.local ein kleines Skript hinzu, das unten angegeben ist .

# vi /etc/rc.d/rc.local
....
if test −f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test −f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

3. Starten Sie das System neu, damit die Änderungen wirksam werden.

# shutdown -r now

2. Um THP zur Laufzeit zu deaktivieren

Führen Sie die folgenden Befehle aus, um THP zu deaktivieren, ohne das System neu zu starten.

# echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
# echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
Hinweis :Durch Ausführen der obigen Befehle wird nur die Erstellung und Verwendung des neuen THP beendet. Die THP, die zum Zeitpunkt der Ausführung der obigen Befehle erstellt und verwendet wurden, würden nicht in die regulären Speicherseiten zerlegt. Um THP vollständig zu entfernen, sollte das System neu gestartet werden, wobei THP beim Booten deaktiviert ist.

Fehlerbehebung

Wenn Transparent Huge Pages (THP) immer noch nicht deaktiviert ist, fahren Sie fort und verwenden Sie eine der folgenden Optionen.

1. Tuned/ktune-Dienste deaktivieren

1. Deaktivieren Sie die optimierten Dienste, wenn THP mit einem der folgenden Befehle wieder aktiviert wird.

# service tuned stop
# chkconfig tuned off
# service ktune stop
# chkconfig ktune off

ODER

# tuned-adm off
Hinweis :Der Befehl tuned-adm setzt alle Ihre Einstellungen auf den Stand vor dem Start von tuned zurück und deaktiviert die Ausführung der Tuning-Dienste beim Booten.

2. Stellen Sie sicher, dass ktune und optimierte Dienste deaktiviert sind, um beim Booten zu starten:

# chkconfig --list |egrep -i "ktune|tuned"
ktune           0:off   1:off   2:off   3:off    4:off    5:off    6:off
tuned           0:off   1:off   2:off    3:off    4:off    5:off    6:off

2. Erstellen Sie ein benutzerdefiniertes abgestimmtes Profil mit deaktiviertem THP

1. Wir erstellen eine angepasste Version des aktuell ausgeführten Profils. Die angepasste Version deaktiviert THP. 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
Service tuned: enabled, running
Service ktune: enabled, running

2. Erstellen Sie ein doppeltes Profil aus dem vorhandenen Profil. Wir werden das neue Profil verwenden, um den THP zu deaktivieren. Kopieren Sie dazu den gesamten Inhalt aus dem aktuellen Profilverzeichnis in das neu erstellte Profilverzeichnis.

# cd /etc/tune-profiles/
# cp -r /etc/tune-profiles/throughput-performance /etc/tune-profiles/nothp_profile

3. Wir werden jetzt THP im neuen Profil deaktivieren und das neue Profil aktivieren. Ändern Sie die unten gezeigte Zeile:
From :

# vi /etc/tune-profiles/nothp_profile/ktune.sh
set_transparent_hugepages always

An :

# vi /etc/tune-profiles/nothp_profile/ktune.sh
set_transparent_hugepages never

4. Aktivieren Sie das neue Profil, damit die Änderungen wirksam werden.

# tuned-adm profile nothp_profile
# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
always [never]
CentOS / RHEL 7 :So deaktivieren Sie Transparent Huge Pages (THP)


Linux
  1. So deaktivieren Sie IPv6 unter CentOS / RHEL 7

  2. CentOS / RHEL 7:Deaktivieren von Transparent Huge Pages (THP)

  3. CentOS / RHEL 6,7 :Wie man Hugepages konfiguriert

  4. So deaktivieren Sie IPv6 unter CentOS / RHEL 5

  5. So deaktivieren Sie lvmetad in CentOS/RHEL

So deaktivieren Sie IPv6 unter CentOS 7 / RHEL 7

So deaktivieren Sie IPv6 unter CentOS 8 / RHEL 8

So deaktivieren Sie den FIPS-Modus unter CentOS/RHEL 7

So deaktivieren Sie den os-prober in CentOS/RHEL 7

So aktivieren/deaktivieren Sie SELinux-Modi in RHEL/CentOS

CentOS / RHEL 5, 6:So deaktivieren Sie NetworkManager