Dieser Artikel wurde speziell für die Atlassian Server Plattform geschrieben. Aufgrund der eingeschränkten Funktionalitäten in Atlassian Cloud Applikationen können die Inhalte dieses Artikels nicht auf Atlassian Cloud Applikationen angewendet werden.



Gegenstand dieses Artikels

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:

  1. Heap Space
  2. Perm Gen Space
  3. GC Overhead

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.

Wenn es um GC Overhead geht, lesen Sie bitte Confluence Crashes Due to 'java.lang.OutOfMemoryError GC overhead limit exceeded'.



Ermitteln Sie den Nutzungsverlauf von Confluence

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.



Leitfaden

Die Standardwerte sind für die meisten Confluence-Installationen unzureichend. Weitere Informationen finden Sie in den Dokumenten Managing Application Server Memory Settings und Server Hardware Requirements Guide.



Die Lösung

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)

Sollten Sie einen Ratschlag benötigen wie viel Arbeitsspeicher Sie verwenden sollten, können Sie diese Seite mit beispielhaften Hardwarespezifikationen ansehen.

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.
    (Warnung) 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

  1. Schalten Sie Confluence ab.
  2. Ö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).
  3. 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
  4. Lesen Sie den den Teil "Arbeitsspeicherplatz-Fehlermeldungen beheben#Zur Fehlerdiagnose" oben und definieren Sie die entsprechenden Werte. Xmx ist das Maximum, Xms ist das Minimum und MaxPermSize ist PermGen.
  5. Starten Sie Confluence.


Windows (aus .bat-Datei)

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

  1. Schalten Sie Confluence ab.
  2. Öffen Sie aus <confluence-install>/bin (Stand-alone) oder <Tomcat-home>/bin (EAR-WAR Installation) setenv.bat.
  3. 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
  4. Lesen Sie den den Teil "Arbeitsspeicherplatz-Fehlermeldungen beheben#Zur Fehlerdiagnose" oben und definieren Sie die entsprechenden Werte. Xmx ist das Maximum, Xms ist das Minimum und MaxPermSize ist PermGen.
  5. Starten Sie Confluence.

 


Windows Dienst

Es gibt zwei Wege wie Sie Ihre Systemeinstellungen konfigurieren können, wenn Sie Confluence automatisch auf Windows as-a-service starten - entweder über die Befehlseingabe oder in der Windows-Registry.

 

Konfiguration über die Befehlseingabe

  1. Finden Sie heraus wie der Name des Dienstes, auf dem Confluence installiert ist, heißt (Systemsteuerung > System und Sicherheit > Verwaltung > Dienste):



    (Info) In diesem Beispiel lautet der Service Name Jira030908110721 (Es ist zwar ein Jira-Screenshot, aber genauso sieht es bei Confluence aus)

  2. Öffen Sie das Befehlseingabefenster mit Start > geben Sie "Ausführen" ein > Eingabetaste > geben Sie "cmd" ein > Eingabetaste
  3. Wechseln Sie mit cd zum bin Verzeichnis Ihrer Confluence-Instanz oder zum bin Verzeichnis Ihrer Tomcat-Installation, wenn Sie Confluence EAR/WAR verwenden.
  4. 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>

    (Info) 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)



  5. Klicken Sie auf den Tab "Java" um zu der Liste der aktuellen Startoptionen zu gelangen:



  6. Definieren Sie hier die maximale Speicherzuweisung
  7. Fügen Sie außerdem noch -XX:MaxPermSize=512m zur Sektion Java-Optionen hinzu, wenn nötig.

Konfiguration über die Windows-Registry

  1. Klicken Sie auf Start und geben Sie "Ausführen" ein und öffnen Sie "regedit32.exe".



  2. 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



  3. Zum ändern der existierenden Werte, besonders für die Vergrößerung des Xmx-Speichers, klicken Sie doppelt auf den entsprechenden Eintrag.



  4. Um weitere Optionen zu ändern klicken Sie doppelt auf Optionen. Achtung: Bitte fügen Sie immer nur einen Befehl pro Zeile ein.



  5. 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.

(Info) 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:

ps -aux | grep java

 





Confluence

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. Einfach auf diesen Link klicken, wenn wir die Seite mal wieder aktualisieren sollten. 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.