Veröffentlicht von & unter Allgemein.

Wer unter Windows und MAC OS X speicherintensive Apps betreibt und den VM Parameter

XX:+UseLargePages

nutzt, der bekommt unter normalen Umständen einen Fehler bei Start angezeigt.

Java HotSpot(TM) 64-Bit Server VM warning: Failed to reserve shared memory

Um das Problem zu lösen setzt man einen VM Parameter, am einfachsten in der /etc/sysctl.conf

vm.nr_hugepages=400

Eine Hugepages hat 2048kb, hier werden also rund 800 MB reserviert. Wer den Wert ohne Neustart setzen will, der setzt folgenden Befehl ab:

echo 300 > /proc/sys/vm/nr_hugepages

Beachten sollte man zudem die Werte des Gesamtspeichers für den User zu setzen. Dies macht man in der Datei /etc/security/limits.conf

oracle               soft    memlock 50331648
oracle               hard    memlock 50331648
tomcat               soft    memlock 50331648
tomcat               hard    memlock 50331648

Um die aktuellen Limits anzeigen kann man folgenden Befehl nutzen

ulimit -a

Auf jeden Fall sollte man sich anschauen ob der Speicher von Oracle, Tomcat un Co auch genutzt werden. Das geht sehr einfach mit

cat /proc/meminfo

Wer HugePages nicht kennt, der kann sich schlau machen auf:
http://en.wikipedia.org/wiki/Huge_pages#Huge_pages