Untersuchung der Hugepage-Konfiguration in /sys/kernel/mm
In diesem letzten Schritt werden wir einen anderen Ort erkunden, an dem Informationen zur Hugepage-Konfiguration verfügbar sind: das /sys
-Dateisystem. Das /sys
-Dateisystem bietet eine Schnittstelle zu Kernel-Datenstrukturen, die es uns ermöglicht, Kernel-Objekte zu untersuchen und manchmal zu ändern.
Hugepage-bezogene Informationen können unter /sys/kernel/mm/transparent_hugepage
gefunden werden. Transparente Hugepages (Transparent Hugepages, THP) ist ein Feature, das versucht, automatisch Hugepages zu verwenden, ohne dass Anwendungen eine explizite Konfiguration vornehmen müssen.
Navigieren wir in dieses Verzeichnis mit dem Befehl cd
. cd
steht für "change directory" (Verzeichnis wechseln).
Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:
cd /sys/kernel/mm/transparent_hugepage
Jetzt, da wir uns im Verzeichnis /sys/kernel/mm/transparent_hugepage
befinden, lassen Sie uns die Dateien in diesem Verzeichnis mit dem Befehl ls
auflisten. Der Befehl ls
listet den Inhalt eines Verzeichnisses auf.
Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:
ls
Sie sollten eine Ausgabe ähnlich wie diese sehen:
defrag enabled khugepaged numa_defrag shmem_enabled split_huge_pmd_size split_huge_pte_size
Diese Dateien repräsentieren verschiedene Konfigurationsoptionen und Statusindikatoren für Transparente Hugepages.
Lassen Sie uns den Inhalt der Datei enabled
mit dem Befehl cat
anzeigen. Diese Datei zeigt an, ob Transparente Hugepages aktiviert, deaktiviert oder in einem 'madvise'-Modus (wo Anwendungen den Kernel über die Nutzung von Hugepages beraten können) sind.
Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:
cat enabled
Sie sollten eine Ausgabe ähnlich wie diese sehen:
[always] madvise never
Die Ausgabe gibt die aktuelle Einstellung an. [always]
bedeutet, dass THP derzeit für alle Zuordnungen aktiviert ist.
Jetzt lassen Sie uns die Datei defrag
betrachten. Diese Datei steuert, ob der Kernel versuchen sollte, den Speicher zu defragmentieren, um Hugepages verfügbar zu machen.
Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:
cat defrag
Sie sollten eine Ausgabe ähnlich wie diese sehen:
[always] defer defer+madvise madvise never
Wiederum gibt [always]
die aktuelle Einstellung für die Speicherdefragmentierung im Zusammenhang mit THP an.
Das /sys
-Dateisystem ist eine wertvolle Ressource, um den internen Zustand und die Konfiguration des Kernels zu verstehen. Das Erkunden von Verzeichnissen wie /sys/kernel/mm
kann tiefe Einblicke in die Speicherverwaltung geben.
Sie haben nun erfolgreich Hugepage-Informationen mit drei verschiedenen Methoden untersucht: /proc/meminfo
, sysctl
und dem /sys
-Dateisystem.
Klicken Sie auf Weiter, um das Lab abzuschließen.