Java-Applikationen wie Jira, Crowd und Confluence laufen auf einer "Java virtual machine" (JVM), anstatt direkt auf einem Betriebssystem. Beim Start beansprucht die Java virtual machine einen bestimmten Teil des Arbeitsspeichers und stellt diesen z. B. einer Applikation wie Confluence zur Verfügung. Standardmäßig werden den Java virtual machines eine Arbeitsspeichergröße von 64 MB zur Verfügung gestellt, unabhängig davon wie viele Gigabyte Speicherplatz auf Ihrem Server verfügbar sind. Jedoch sind 64 MB unzureichend für die meisten Confluence-Installationen, weshalb diese Größe angepasst werden muss.
Zur Fehlerdiagnose
Die Art der Fehlermeldung ermitteln
Schauen Sie in das atlassian-confluence.log um die Art der OutOfMemory Fehlermeldung, die Sie erhalten, zu sehen. Gewöhnlich gibt es drei:
Dieser Artikel beschäftigt sich mit der Vergrößerung des Arbeitsspeichers bei PermGen und Heap Space Fehlern. Klicken Sie auf die oben stehenden Links um die Ursache für jedes Problem besser zu verstehen.
Gehen Sie in Confluence zu Administration > Systeminformationen und sehen Sie sich den Arbeitsspeichergraphen an, wenn die Nutzung sehr hoch ist:
Ermitteln Sie den verfügbaren Arbeitsspeicher
In Windows
Drücken Sie Strg+Alt+Entf und klicken Sie auf den Tab Leistung:
Die Angabe bei Available ist die Menge in Kilobytes, die Sie Confluence zuweisen können. Auf diesem Server sollten wir 214 Mb auswählen.
In Linux
Geben Sie folgendes ein um den Arbeitsspeicherverbrauch einzusehen:
cat /proc/meminfo
Das Einstellen des -Xmx überhalb des verfügbaren Wertes auf dem Server birgt, wegen dem fehlenden physikalischen Arbeitsspeicher, die Gefahr eines OutOfMemoryErrors. Tritt dies auf, greift das System auf den Auslagerungsspeicher zurück und damit sinkt die Performance drastisch.
1. Schritt: Vergrößern Sie den verfügbaren Arbeitsspeicher
Wir können Ihnen keine wirkliche Empfehlung zur Zuweisung einer gewissen Arbeitsspeichermenge geben, weil das stark davon abhängt wie Ihr Server aufgesetzt ist, wie viele Benutzer Sie haben und wie deren Nutzungsverhalten ist. Sie müssen einen Wert finden, der für Sie funktioniert, d. h. dass keine bemerkbaren GC Pausen und keine OutOfMemory-Fehlermeldungen auftreten.
Das sind die 3 häufigsten Parameter zur Änderung der zugewiesenen Arbeitsspeichermenge:
Xms - die Mindestgröße der Menge
Xmx - die maximale Größe der Menge
-XX:MaxPermSize - die maximale Größe von PermGen (wird ab Java 8 nicht verwendet)
Wenn Sie sich dazu entscheiden die Arbeitsspeichergröße zu erhöhen, können Sie diesem Leitfaden folgen.
Vergrößern Sie Xmx in kleinen Schritten (z. B. jeweils um 512 MB), bis Sie keine OutOfMemory-Fehlermeldungen mehr erhalten. Denn wenn der Heap über die Kapazitäten des Servers und dem Garbage Collect hinaus erhöht wird, entstehen andere Probleme (z. B. Performance/Einfrieren).
Wenn die Fehlermeldung java . lang . OutOfMemoryError : PermGen space lautet, dann vergrößern Sie den -XX:MaxPermSize Parameter in 256 MB Schritten, bis der Fehler nicht mehr auftritt.
Wenn sich der Fehler nicht auf PermGen bezieht, dann ist die Vergrößerung nicht notwendig. Einfach gesagt wird PermGen dafür verwendet Klassen zu verwalten und er ist generell statisch in der Größe. Ab Java 8 wurde PermGen jedoch entfernt. Weitere Informationen dazu finden Sie hier.
Erwägen Sie die Xms und Xmx auf den gleichen Wert zu setzen, denn das kann die Zeit, die der GC benötigt, verkleinern und somit den Heap nicht bei jeder Kollektion verkleinern. Lesen Sie die Dokumentation Garbage Collection (GC) Tuning Guide für mehr Details.
Linux
Den Heap oder den Perm Gen Arbeitsspeicherplatz auf Linux vergrößern
Schalten Sie Confluence ab.
Öffnen Sie von <confluence-install>/bin (Stand-alone) oder <Tomcat-home>/bin (EAR-WAR Installation) aus setenv.sh (Sie können die Datei in der EAR/WAR-Version erstellen).
Finden Sie die Sektion - CATALINA_OPTS="-Xms1024m -Xmx1024m -XX:+UseG1GC $CATALINA_OPTS" in Confluence 5.8 oder höher - CATALINA_OPTS="$CATALINA_OPTS -Xms1024m -Xmx1024m -XX:MaxPermSize=256m -XX:+UseG1GC" in Confluence 5.6 oder 5.7 - JAVA_OPTS="-Xms256m -Xmx512m -XX:MaxPermSize=256m in früheren Versionen
Wenn Sie Confluence-as-a-Service auf Windows starten, sollten Sie diesen Instruktionen nicht folgen. Greifen Sie stattdessen auf den unten stehenden Teil "Windows Dienste" zurück.
Diese Instruktionen sind für Sie nur relevant wenn Sie Confluence über die Batch-Datei starten. Die Batch-Datei wird bei Confluence-as-a-service nicht verwendet.
Die Systemeinstellungen von Windows-Installationen konfigurieren, wenn von einer .bat-Datei gestartet wird
Schalten Sie Confluence ab.
Öffen Sie aus <confluence-install>/bin (Stand-alone) oder <Tomcat-home>/bin (EAR-WAR Installation) setenv.bat.
Finden Sie die Sektion - CATALINA_OPTS="-Xms1024m -Xmx1024m -XX:+UseG1GC $CATALINA_OPTS" in Confluence 5.8 oder höher - CATALINA_OPTS="$CATALINA_OPTS -Xms1024m -Xmx1024m -XX:MaxPermSize=256m -XX:+UseG1GC" in Confluence 5.6 oder 5.7 - JAVA_OPTS="-Xms256m -Xmx512m -XX:MaxPermSize=256m in früheren Versionen
Finden Sie heraus wie der Name des Dienstes, auf dem Confluence installiert ist, heißt (Systemsteuerung > System und Sicherheit > Verwaltung > Dienste):
In diesem Beispiel lautet der Service Name Jira030908110721 (Es ist zwar ein Jira-Screenshot, aber genauso sieht es bei Confluence aus)
Öffen Sie das Befehlseingabefenster mit Start > geben Sie "Ausführen" ein > Eingabetaste > geben Sie "cmd" ein > Eingabetaste
Wechseln Sie mit cd zum bin Verzeichnis Ihrer Confluence-Instanz oder zum bin Verzeichnis Ihrer Tomcat-Installation, wenn Sie Confluence EAR/WAR verwenden.
Führen Sie folgenden Befehl aus (für Tomcat8, ändern Sie den Befehl, wenn nötig, für frühere Versionen): tomcat8w //ES//<Your_Service_name>
Wenn Sie Confluence 5.5 nutzen wäre es tomcat6w //ES//Jira030908110721, statt tomcat8w (es handelt sich wieder um einen Jira-Screenshot, aber gleiches gilt auch für Confluence)
Klicken Sie auf den Tab "Java" um zu der Liste der aktuellen Startoptionen zu gelangen:
Definieren Sie hier die maximale Speicherzuweisung
Fügen Sie außerdem noch -XX:MaxPermSize=512m zur Sektion Java-Optionen hinzu, wenn nötig.
Konfiguration über die Windows-Registry
Klicken Sie auf Start und geben Sie "Ausführen" ein und öffnen Sie "regedit32.exe".
Finden Sie den Eintrag Dienste: 32-bit: HKEY_LOCAL_MACHINE >> SOFTWARE >> Apache Software Foundation >> Procrun 2.0 >> Confluence 64-bit: HKEY_LOCAL_MACHINE >> SOFTWARE >> Wow6432Node >>
Apache Software Foundation >> Procrun 2.0 >> Confluence
Zum ändern der existierenden Werte, besonders für die Vergrößerung des Xmx-Speichers, klicken Sie doppelt auf den entsprechenden Eintrag.
Um weitere Optionen zu ändern klicken Sie doppelt auf Optionen. Achtung: Bitte fügen Sie immer nur einen Befehl pro Zeile ein.
Modifizieren Sie hier die Einstellungen (z.B. -XX:MaxPermSize=512m).
2. Schritt: Überprüfen Sie Ihre Einstellungen
Sehen Sie hier, wie Sie Ihre Einstellungen überprüfen können Viewing System Information. Sie sollten eine Sektion namens "Java Runtime Arguments" sehen.
Schauen Sie nach den Einstellungen für Xmx (Maximum) und Xms (Minimum).
Alternativ können Sie auf Linux den folgenden Befehl eingeben, um die Parameter für Ihre Arbeitsumgebung zu sehen:
Dieser Inhalt wurde zuletzt am 20.09.2017 aktualisiert.
Der Inhalt auf dieser Seite ist schon seit einer Weile nicht mehr aktualisiert worden.
Das muss kein Nachteil sein. Oft überdauern unsere Seiten Jahre, ohne wirklich unnütz zu
werden.
Alte Inhalte können falsch, irreführend oder überholt sein. Bitte nutzen Sie das Formular
oder den Live-Chat auf dieser Seite oder kontaktieren Sie uns via E-Mail unter
content@seibert.group, wenn Sie Zweifel,
Fragen, Anregungen oder Änderungswünsche haben.