Verwendung von Huge Pages aktivieren

Grosse Speicherseiten verbessern die Performance, da weniger Einträge im Translation Lookaside Buffer (TLB) notwendig sind. Ausserdem wird der Speicher gepinnt, d. h. es findet kein Paging statt.
Kernel- und Hardwarevoraussetzungen:

Der Huge Page Support ist bei SLES 11 standardmässig aktiviert:
app-pweb:~ # sysctl kernel.shmmax
kernel.shmmax = 18446744073709551615
Die Seitengrösse ist bei unserer Hardware 2 MB:
app-pweb:~ # cat /proc/meminfo | grep Hugepagesize
Hugepagesize:     2048 kB

Einrichtung:

Gruppe einrichten
Eintrag in /etc/group
hugepage:!:90:root

Die Mitglieder der Gruppe sind die Laufzeituser der Applikationen, die den Speicher verwenden sollen.
Kernelparameter setzen
sysctl -w vm.hugetlb_shm_group=90
Limits für die Gruppe in /etc/security/limits.conf anpassen
@hugepage       soft    memlock         1259520
@hugepage       hard    memlock         1259520

Maximale Größe, die im Speicher gelockt werden darf. Muss grösser oder gleich dem benötigten Speicher sein.
Zahl der Seiten festlegen
sysctl -w vm.nr_hugepages=615

Wenn wir 2.2 GB reservieren wollen, dann benötigen wir 1.2GB/2MB = 615(gerundet).
Kernelparameter persistent machen. Eintrag in /etc/sysctl.conf:
# Huge Page Support - JG
vm.hugetlb_shm_group = 90
vm.nr_hugepages = 615

Anzeigen der belegten Seiten:
cat /proc/meminfo |grep Huge