JVM 調整
系統提供了一些建議的 JVM 設定,可對應進行的一些 ThingWorx 效能進行最佳化。微調超出下面所列值的 JVM 參數是特定於工作負載的,具體視 ThingWorx 所建構的應用程式而定。如需根據您的環境進行特定調整,請聯絡 PTC 支援。
強制設定
設定
描述
-server
明確告知 JVM 在伺服器模式下執行。這適用於預設使用 64 位元 JDK 的情況,但最好對此進行宣告。
-d64
明確告知 JVM 在 64 位元模式下執行。目前 JVM 會自動偵測到此設定,但最好對此進行宣告。
XX:+UseG1GC
告知 JVM 使用 Garbage First Garbage Collector。
-Dfile.encoding=UTF-8
告知 JVM 使用 UTF-8 作為預設字元集,以便非西方語言字母正確顯示。
-Djava.library.path
指定原生資料庫的路徑。
-Xms3072m (適用於記憶體為 4GB 的系統)
告知 JVM 為 Tomcat 處理程序至少分配 3072 MB 的記憶體。這應設定為可用系統記憶體的 75%。
* 
記憶體量需要依實際環境進行調整。
-Xmx3072m (適用於記憶體為 4GB 的系統)
告知 JVM 限制 Tomcat 處理程序的最大記憶體。這應設定為可用系統記憶體的 75%。
* 
將記憶體的最小和最大量設為相同,是為了減少 JVM 重新評估所需記憶體和重新調整執行時間分配大小的需求。建議對主控與/或公開環境使用此設定,但對於開發和測試環境,使用 -Xms512m 即已足夠。此外,核對餘下的記憶體是否足以允許作業系統運作。
-Dlog4j2.formatMsgNoLookups=true
可供啟用 JMX 監視的選用設定
如果懷疑存在記憶體問題,請參閱下列工具以獲取有關監視系統的詳細資訊:列出的設定可將這些工具連線到 ThingWorx 用於監視 JVM 特性的 Tomcat 實例。
設定
描述
-Dcom.sun.management.jmxremote
通知 JVM 您計劃透過 JMX 進行遠端監視
-Dcom.sun.management.jmxremote.port=22222
JVM 應開啟以進行監視的埠。
-Dcom.sun.management.jmxremote.ssl=false
無 SSL 使用關係。
-Dcom.sun.management.jmxremote.authenticate=false
無須驗證。
-Djava.rmi.server.hostname=<主機或 IP>
基礎 RMI 用戶端連接將會使用的主機名稱或 IP。
更新 -Xmx 參數值
使用安裝程式時,必須透過執行下列步驟在 Service 檔案中以 MB 為單位設定所有 Java 堆積設定:
1. 使用 systemctl stop ThingWorx-Foundation.service 指令,從預設位置 /etc/systemd/system/ThingWorx-Foundation.service 停止 ThingWorx-Foundation.service
2. 欲確認服務狀況已停止,請執行 systemctl stop ThingWorx-Foundation.service 指令。
3. 使用 vi 指令檢視終端中的 ThingWorx-Foundation.service 檔案,並變更 -Xmx 參數值。確保檔案具有根權限。請參閱以下螢幕擷取畫面作為範例。
4. -Xmx 參數值從 gb 變更為 mb,並將單位保持為 m。確保它大於初始堆積值。請參閱以下螢幕擷取畫面作為範例。
5. 執行 systemctl daemon-reload 指令。
6. 使用 systemctl start ThingWorx-Foundation.service 指令啟動 ThingWorx-Foundation 服務。
7. 再次執行升級安裝程式。
如需詳細資訊,請參閱 PTC 支援文章 CS397788
這是否有幫助?