JVM-Optimierung
Es werden bestimmte JVM-Einstellungen für die Optimierung der ThingWorx Leistung empfohlen. Die Feinabstimmung weiterer nachfolgend nicht aufgeführter JVM-Parameter hängt von der Arbeitslast sowie von den Anwendungen, die mit ThingWorx erstellt werden, ab. Wenden Sie sich an den PTC Support, wenn Sie Fragen zu einer bestimmten Optimierung in Ihrer Umgebung haben.
Obligatorische Einstellungen
Einstellung
Beschreibung
-server
Weist die JVM explizit zum Ausführen im Servermodus an. Dies gilt standardmäßig bei Verwendung des 64-Bit-JDK, aber die optimale Vorgehensweise ist die Deklarierung.
-d64
Weist die JVM explizit zum Ausführen im 64-Bit-Modus an. Die aktuelle JVM erkennt dies automatisch, aber die optimale Vorgehensweise ist die Deklarierung.
XX:+UseG1GC
Weist die JVM an, den Garbage First Garbage Collector zu verwenden.
-Dfile.encoding=UTF-8
Weist die JVM an, UTF-8 als Standardzeichensatz zu verwenden, sodass nicht westliche Alphabete korrekt angezeigt werden.
-Djava.library.path
Gibt den Pfad zur nativen Bibliothek an.
-Xms3072m (für ein System mit 4 GB Arbeitsspeicher)
Weist die JVM an, ein Minimum von 3072 MB Arbeitsspeicher zum Tomcat-Prozess zuzuordnen. Der Arbeitsspeicher sollte auf 75 % des verfügbaren Arbeitsspeichers des Systems festgelegt werden.
* 
Der Arbeitsspeicher muss abhängig von der tatsächlichen Umgebung optimiert werden.
-Xmx3072m (für ein System mit 4 GB Arbeitsspeicher)
Weist die JVM an, den maximalen Arbeitsspeicher auf den Tomcat-Prozess einzuschränken. Der Arbeitsspeicher sollte auf 75 % des verfügbaren Arbeitsspeichers des Systems festgelegt werden.
* 
Der Grund dafür, dass der minimale und maximale Arbeitsspeicher gleich sind, ist, dass die JVM weniger oft den erforderlichen Arbeitsspeicher neu bewerten und die Zuweisung zur Laufzeit ändern muss. Während dies für gehostete und/oder öffentliche Umgebungen empfohlen wird, reicht –Xms512m für Entwicklungs- und Testumgebungen aus. Überprüfen Sie auch, ob genug Arbeitsspeicher vorhanden ist, damit das Betriebssystem funktioniert.
-Dlog4j2.formatMsgNoLookups=true
Optionale Einstellungen zum Aktivieren der JMX-Überwachung
Wenn Sie vermuten, dass Sie Speicherprobleme haben, referenzieren Sie die folgenden Tools, um weitere Informationen zur Überwachung Ihres Systems zu erhalten: Die aufgeführte Einstellung ermöglicht die Verbindung dieser Tools mit der Tomcat-Instanz, die von ThingWorx für die Überwachung der JVM-Eigenschaften verwendet wird.
Einstellung
Beschreibung
-Dcom.sun.management.jmxremote
Benachrichtigt die JVM, dass Sie beabsichtigen, sie über JMX remote zu überwachen
-Dcom.sun.management.jmxremote.port=22222
Port, den die JVM für die Überwachung öffnen sollte.
-Dcom.sun.management.jmxremote.ssl=false
Keine Verwendung von SSL.
-Dcom.sun.management.jmxremote.authenticate=false
Keine Authentifizierung erforderlich.
-Djava.rmi.server.hostname=<Host oder IP>
Hostname oder IP, den/die die zugrunde liegende RMI-Client-Verbindung verwendet
Wert des Parameters "-Xmx" aktualisieren
Wenn Sie das Installationsprogramm verwenden, müssen alle Java-Heap-Einstellungen mit folgenden Schritten in der Dienstdatei in MB angegeben werden:
1. Halten Sie ThingWorx-Foundation.service am Standardspeicherort /etc/systemd/system/ThingWorx-Foundation.service mit dem Befehl systemctl stop ThingWorx-Foundation.service an.
2. Führen Sie den Befehl systemctl stop ThingWorx-Foundation.service aus, um zu bestätigen, dass der Dienst angehalten wurde.
3. Zeigen Sie die Datei ThingWorx-Foundation.service mit dem Befehl vi im Terminal an, und ändern Sie den Wert des Parameters -Xmx. Stellen Sie sicher, dass die Datei über Stammberechtigungen verfügt. Sehen Sie sich den nachfolgenden Screenshot als Beispiel an.
4. Ändern Sie den Wert des Parameters -Xmx von gb in mb, und behalten Sie m als Einheit bei. Stellen Sie sicher, dass der Wert größer als der anfängliche Heap-Wert ist. Sehen Sie sich den nachfolgenden Screenshot als Beispiel an.
5. Führen Sie den Befehl systemctl daemon-reload aus.
6. Starten Sie den Dienst "ThingWorx-Foundation" mit dem Befehl systemctl start ThingWorx-Foundation.service.
7. Führen Sie das Upgrade-Installationsprogramm erneut aus.
Weitere Informationen finden Sie im PTC Support Artikel CS397788.
War dies hilfreich?