Prüfen, ob Hugepages in Linux aktiviert sind

English Deutsch

Problem:

Auf deinem Linux-System möchtest du prüfen, ob transparente Hugepages aktiviert sind.

Lösung

Es ist ganz einfach:

check_hugepages.sh
cat /sys/kernel/mm/transparent_hugepage/enabled

Du erhältst eine Ausgabe wie diese:

hugepages_output.txt
always [madvise] never

Du siehst eine Liste aller möglichen Optionen (always, madvise, never), wobei die aktuell aktive Option in Klammern eingeschlossen ist. madvise ist die Standardeinstellung.

Das bedeutet, dass transparente Hugepages nur für Speicherbereiche aktiviert sind, die explizit Hugepages über madvise(2) anfordern.

always bedeutet, dass transparente Hugepages immer für jeden Prozess aktiviert sind. Dies erhöht normalerweise die Performance, aber wenn du einen Anwendungsfall mit vielen Prozessen hast, die jeweils nur eine kleine Menge Speicher verbrauchen, könnte dein gesamter Speicherverbrauch drastisch ansteigen.

never bedeutet, dass transparente Hugepages nicht aktiviert werden, selbst wenn sie über madvise angefordert werden.

Für Details siehe Documentation/vm/transhuge.txt in der Linux-Kernel-Dokumentation.

Standardwert ändern

Option 1: sysfs direkt modifizieren (die Einstellung wird nach einem Neustart auf den Standardwert zurückgesetzt):

set_hugepages_sysfs.sh
echo always >/sys/kernel/mm/transparent_hugepage/enabled
echo madvise >/sys/kernel/mm/transparent_hugepage/enabled
echo never >/sys/kernel/mm/transparent_hugepage/enabled

Option 2: Systemstandard durch Neukompilieren des Kernels mit modifizierter Konfiguration ändern (nur empfohlen, wenn du sowieso einen eigenen benutzerdefinierten Kernel verwendest):

Um den Standard auf always zu setzen, setze diese Optionen:

set_hugepages_always.sh
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# Auskommentieren: CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y

Um den Standard auf madvise zu setzen, setze diese Optionen:

set_hugepages_madvise.sh
CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y
# Auskommentieren: CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y

Check out similar posts by category: Linux, Performance