Optimierung der Java Virtual Machine

Aus OpenEstate-Wiki

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Die Java-Laufzeitumgebung kann individuell an die eigenen Bedürfnisse angepasst werden. Der folgende Artikel soll Einblick in die grundlegende Verfahrensweise zur Konfiguration der Java Virtual Machine (JVM) geben.

Startskripte zur Bearbeitung öffnen

Um die JVM individuell anzupassen müssen die jeweiligen Startskripte in einem Editor geöffnet und angepasst werden.

Startskripte unter Windows

  • Windows-Anwender öffnen dafür die Datei ImmoTool.bat in einem Editor.
  • Die ImmoTool.bat kann mit Doppelklick im Windows-Explorer gestartet werden.
  • Achtung: Nach einer vorgenommenen Änderung sollte die ImmoTool.bat grundsätzlich unter neuem Namen gespeichert werden. Andernfalls gehen die Änderungen bei der nächsten automatischen Aktualisierung verloren!
  • Hinweis: Bei Bedarf können Sie sich eine Verknüpfung auf dem Desktop anlegen.
  • Die Datei ImmoTool.bat sieht standardmäßig wie folgt aus:
:: Pfad zur JVM (java.exe)
SET JAVA_EXE=java.exe
 
:: Speicherkonfiguration der JVM
SET JAVA_HEAP_MINIMUM=32m
SET JAVA_HEAP_MAXIMUM=256m
SET JAVA_PERM_SIZE=64m

:: Hardware-Beschleunigung
SET JAVA_OPENGL=false

:: ImmoTool starten
%JAVA_EXE% -Xms%JAVA_HEAP_MINIMUM% -Xmx%JAVA_HEAP_MAXIMUM% -XX:MaxPermSize=%JAVA_PERM_SIZE% -Dsun.java2d.opengl=%JAVA_OPENGL% -Dfile.encoding=UTF-8 -Duser.language=de -jar OpenEstate-Tool.jar

Startskripte unter Unix / Mac

  • Unix- /Mac-Anwender öffnen dafür die Datei ImmoTool.sh in einem Editor.
  • Die ImmoTool.sh kann via Kommandozeile/Terminal/Shell gestartet werden durch Eingabe von: sh ImmoTool.sh
  • Achtung: Nach einer vorgenommenen Änderung sollte die ImmoTool.bat grundsätzlich unter neuem Namen gespeichert werden. Andernfalls gehen die Änderungen bei der nächsten automatischen Aktualisierung verloren!
  • Hinweis: Eine Verknüpfung auf dem Desktop ist möglich, aber auf jedem System verschieden einzurichten. Klären Sie dies ggf. mit Ihrem Betriebssystem-Hersteller.
  • Die ImmoTool.sh sieht standardmäßig wie folgt aus:
#!/bin/sh
 
# Pfad zur JVM
JAVA_BIN=java
#JAVA_BIN=/opt/java/bin/java
#JAVA_BIN=/usr/lib/jvm/java-6-sun/bin/java
 
# Speicherkonfiguration der JVM
JAVA_HEAP_MINIMUM=32m
JAVA_HEAP_MAXIMUM=256m
JAVA_PERM_SIZE=64m

# Hardware-Beschleunigung
JAVA_OPENGL=false

# ImmoTool starten
$JAVA_BIN -Xms$JAVA_HEAP_MINIMUM -Xmx$JAVA_HEAP_MAXIMUM -XX:MaxPermSize=$JAVA_PERM_SIZE -Dsun.java2d.opengl=$JAVA_OPENGL -Dfile.encoding=UTF-8 -Duser.language=de -jar OpenEstate-Tool.jar

Pfad zur Java-Laufzeitumgebung (JVM) korrigieren

Dieser Schritt ist nur in Einzelfällen nötig, z.B. wenn Sie mehrere JVM’s parallel installiert haben oder Java nicht korrekt in die Pfadumgebung des Betriebssystems eingetragen ist.

JVM unter Windows modifizieren

  • Öffnen Sie die Startdatei ImmoTool.bat in einem Editor (siehe oben).
  • In der Variablen JAVA_EXE (Zeile 2) wird der Pfad zur JVM-Startdatei (java.exe) hinterlegt, die für das ImmoTool verwendet werden soll.
  • Wenn Sie den Pfad zur java.exe auf Ihrer Windows-Installation nicht kennen, starten Sie einfach eine Dateisuche nach java.exe. Tragen Sie den vollständigen Pfad der gefunden java.exe ein.
  • Ein vollständiger Pfad kann z.B. wie folgt aussehen: SET JAVA_EXE=C:\Programme\Java\jre1.6.0_07\bin\java.exe

JVM unter Unix / Mac modifizieren

  • Öffnen Sie die Startdatei ImmoTool.sh in einem Editor (siehe oben).
  • In der Variablen JAVA_BIN (Zeile 4) wird der Pfad zur JVM-Startdatei hinterlegt, die für das ImmoTool verwendet werden soll.
  • Der Pfad kann auf jeder Distribution anders lauten. Bitte erfragen Sie dies ggf. bei Ihrem Betriebssystem-Hersteller.
    • z.B. unter Arch Linux: JAVA_BIN=/opt/java/bin/java
    • z.B. unter Debian Linux / Ubuntu: JAVA_BIN=/usr/lib/jvm/java-6-sun/bin/java

Speicherzuordnung der Java-Laufzeitumgebung (JVM) optimieren

Beim Start der JVM reserviert diese sich vorab eine gewisse Menge Speicher auf Ihrem System. Diese Speichermenge kann während des Programmbetriebes nicht überschritten werden! – Dies ist ein Sicherheitsmechanismus der JVM um zu vermeiden, dass ein Programm mehr Speicher verbraucht als ihm eigentlich zusteht. Da wir als Entwickler nicht in jedem Falle selbst entscheiden können (und wollen), wieviel Speicher dem ImmoTool zur Verfügung gestellt werden soll, können Sie dies auch selbst konfigurieren.

Standardmäßige Speicherkonfiguration

  • Zum Programmstart reserviert sich das ImmoTool 256MB Arbeitsspeicher (Heap-Memory). Davon werden 64MB zur sog. Permanent Generation reserviert.
  • Bei Bedarf können Diese Werte auf die individuellen Gegebenheiten hin angepasst werden.

Individuelle Speicherkonfiguration

  • Öffnen Sie die Startdatei ImmoTool.bat / ImmoTool.sh in einem Editor (siehe oben).
  • In den Startskripten können die Grundeinstellungen durch verschiedene Variablen angepasst werden.

Größe des Heaps konfigurieren

Der sog. Heap ist ein Bereich im Arbeitsspeicher, den die JVM verwendet um Objekte abzulegen.

  • Um beim Start der JVM einen Heap mit 32MB Minimun und und 512MB Maximum zu erzeugen, verwenden Sie die Variablen JAVA_HEAP_MINIMUM und JAVA_HEAP_MAXIMUM:
  • unter Windows (ImmoTool.bat):
SET JAVA_HEAP_MINIMUM=32m
SET JAVA_HEAP_MAXIMUM=512m
  • unter Unix/Mac (ImmoTool.sh):
JAVA_HEAP_MINIMUM=32m
JAVA_HEAP_MAXIMUM=512m
  • Achtung: Reservieren Sie nicht mehr Speicher, als Ihr System zur Verfügung hat.

Permanent Generation (MaxPermSize)

In diesem Speicherbereicht speichert die JVM Meta-Informationen zu den Objekten im Heap. Sollte der Heap vergrößert werden, kann es nötig werden auch diesen Speicherbereich zu vergrößern.

  • Um einen Speicherbereich von 32MB festzulegen, verwenden Sie die Variable JAVA_PERM_SIZE:
  • unter Windows (ImmoTool.bat): SET JAVA_PERM_SIZE=32m
  • unter Unix/Mac (ImmoTool.sh): JAVA_PERM_SIZE=32m
  • Achtung: Reservieren Sie nicht mehr Speicher, als Ihr System zur Verfügung hat.

Hardware-Beschleunigung via OpenGL

Die Darstellung von Grafiken & Swing-Komponenten kann durch Aktivierung der Hardware-Beschleunigung enorm beschleunigt werden. Grafische Berechnungen finden dann nicht auf dem Prozessor (CPU) sondern in der Grafikkarte (GPU) statt. Die vom Programm benötigte CPU-Last verringert sich entsprechend.

Anforderungen an Hardware-Beschleunigung

  • Eine OpenGL-fähige Grafikkarte muss im Rechner installiert sein. Die derzeit erhältlichen Grafikkarten unterstützen dies weitestgehend.
  • Es sollten aktuelle Treiber des Grafikkarten-Herstellers installiert sein, um die OpenGL-Schnittstelle nutzen zu können.

Hardware-Beschleunigung aktivieren

  • Bitte beachten Sie, dass es bei aktivierter Hardware-Beschleunigung zu Darstellungsproblemen kommen kann, wenn z.B. kein passender Treiber installiert ist.
  • Weitere Details finden Sie bei Sun.
  • OpenGL unter Windows
    • Starten Sie die Datei ImmoTool_gl.exe.
    • Oder bearbeiten Sie die Datei ImmoTool.bat wie folgt: SET JAVA_OPENGL=true
  • OpenGL unter Unix/Mac
    • Bearbeiten Sie die Datei ImmoTool.sh wie folgt: JAVA_OPENGL=true

Weitere Anpassungen der Java-Laufzeitumgebung (JVM)

Eine JVM kann auf verschiedenste Weise konfiguriert werden, um die Umgebung auf die eigenen Bedürfnisse anzupassen.

  • Um weitere Konfigurationen vorzunehmen, öffnen Sie die Startdatei ImmoTool.bat / ImmoTool.sh in einem Editor (siehe oben).
  • In der letzten Zeile des geöffneten Scriptes wird die JVM gestartet. Weitere Parameter können innherhalb dieser Zeile ergänzt werden.
  • Folgende Befehle können Sie auf der Konsole/Eingabeaufforderung/Terminal ausführen, um die verfügbaren Parameter zu ermitteln:
    • java -help
    • java -X
  • Weitere Informationen können Sie der Übersicht weiterer JVM-Variablen von Sun entnehmen.
Persönliche Werkzeuge