Wie konfiguriere ich HugePages auf meiner Amazon-EC2-Linux-Instance?
Ich möchte HugePages auf meiner Amazon Elastic Compute Cloud (Amazon EC2)-Linux-Instance konfigurieren.
Lösung
Hinweis: Es hat sich bewährt, HugePages in einer Testumgebung zu konfigurieren und einen Vergleichstest der Leistung durchzuführen, bevor du HugePages in der Produktion einsetzt. Die HugePage-Größe kann auf x86_64-Systemen nur 2 MB oder 1 GB betragen. Weitere Informationen zu HugePages findest du unter Configuring HugePages on Linux (Konfigurieren von HugePages unter Linux) auf der Oracle-Website.
Voraussetzungen: Erkundige dich bei deinem Anbieter, ob deine Anwendung oder Datenbank HugePages unterstützt. Um die Menge des verfügbaren Speichers zu ermitteln, führe außerdem den folgenden Befehl aus, um den Gesamtspeicher der EC2-Instance zu überprüfen:
free -m
Gehe wie folgt vor, um HugePages auf der Linux-Instance zu konfigurieren:
-
Führe den folgenden Befehl aus, um sicherzustellen, dass HugePages im Kernel nicht aktiviert ist:
sudo cat /proc/sys/vm/nr_hugepagesWenn die Befehlsausgabe 0 ist, ist HugePages nicht aktiviert.
-
Verwende die folgende Formel, um die Anzahl der benötigten HugePages zu berechnen:<br id=hardline_break/> Anzahl von HugePages = Erforderlicher Speicher / HugePage-Größe<br id=hardline_break/> Hinweis: Runde das Ergebnis auf, um sicherzustellen, dass du genügend Seiten erstellst.
-
Führe den folgenden Befehl aus, um HugePages zu aktivieren und den Kernel-Parameterwert festzulegen:
sudo sysctl -w vm.nr_hugepages=2048Hinweis: Ersetze 2048 durch die Anzahl der HugePages, die du berechnet hast.<br id=hardline_break/> Beispielausgabe:
vm.nr_hugepages = 2048 -
Um zu überprüfen, ob das System nach dem Neustart HugePages zuweist, füge der Datei /etc/sysctl.conf den folgenden Eintrag hinzu:
sudo echo "vm.nr_hugepages=2048" >> /etc/sysctl.confHinweis: Ersetze 2048 durch die Anzahl der HugePages, die du berechnet hast.
-
Führe den folgenden Befehl aus, um deine Änderungen zu überprüfen:
sudo cat /etc/sysctl.confÜberprüfe in der Befehlsausgabe, ob ein Wert für vm.nr_hugepages vorhanden ist.<br id=hardline_break/> Beispielausgabe:
# sudo cat /etc/sysctl.conf # sysctl settings are defined through files in # /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/. # # Vendors settings live in /usr/lib/sysctl.d/. # To override a whole file, create a new file with the same in # /etc/sysctl.d/ and put new settings there. To override # only specific settings, add a file with a lexically later # name in /etc/sysctl.d/ and put new settings there. # # For more information, see sysctl.conf(5) and sysctl.d(5). vm.zone_reclaim_mode=1 vm.nr_hugepages=2048 -
Führe den folgenden Befehl erneut aus, um den HugePages-Wert und die -Konfiguration zu überprüfen:
sudo cat /proc/sys/vm/nr_hugepagesWenn die Ausgabe der Anzahl von HugePages entspricht, die du berechnet hast, ist HugePages aktiviert.<br id=hardline_break/> Beispielausgabe:
# sudo cat /proc/sys/vm/nr_hugepages 2048 -
Um die verfügbaren HugePages in /proc/meminfo zu überprüfen, führe den folgenden Befehl aus:
sudo grep Huge /proc/meminfoBeispielausgabe:
# sudo grep Huge /proc/meminfo HugePages_Total: 2048 HugePages_Free: 2048 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kBDefinitionen der einzelnen HugePages-Werte findest du unter HugePages auf kernel.org.
Gehe wie folgt vor, um HugePages zu deaktivieren:
-
Führe den folgenden Befehl aus, um nr_hugepages auf 0 zurückzusetzen:
sudo sysctl -w vm.nr_hugepages=0 -
Entferne den folgenden Eintrag aus sysctl.conf:
sudo echo "vm.nr_hugepages=2048" >> /etc/sysctl.conf
- Themen
- Compute
- Tags
- Amazon EC2Linux
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 3 Jahren