JVM チューニング
ThingWorx のパフォーマンスを最適化するために推奨されるいくつかの JVM 設定があります。以下に示す JVM パラメータのさらなる微調整はワークロード固有であり、ThingWorx で構築されているアプリケーションによって異なります。環境に基づいた個々のチューニングについては、PTC サポートまでお問い合わせください。
必須設定
設定
説明
-server
サーバーモードで実行することを JVM に明示的に指示します。64 ビット JDK を使用する場合はデフォルトで true になりますが、最良事例としては宣言します。
-d64
64 ビットモードで実行することを JVM に明示的に指示します。現在の JVM がこれを自動的に検出しますが、最良事例としては宣言します。
XX:+UseG1GC
Garbage First Garbage Collector を使用することを JVM に指示します。
-Dfile.encoding=UTF-8
非欧文アルファベットが正しく表示されるように、デフォルトの文字セットとして UTF-8 を使用することを JVM を指示します。
-Djava.library.path
ネイティブライブラリへのパスを指定します。
-Xms3072m (4 GB メモリのシステム用)
Tomcat プロセスに 3072 MB 以上のメモリを割り当てるよう JVM に指示します。使用可能なシステムメモリの 75% に設定する必要があります。
* 
メモリの量は実際の環境に応じてチューニングする必要があります。
-Xmx3072m (4 GB メモリのシステム用)
Tomcat プロセスに対する最大メモリを制限することを JVM に指示します。使用可能なシステムメモリの 75% に設定する必要があります。
* 
メモリの量は実際の環境に応じてチューニングする必要があります。100,000 個の Thing に対しては、5 GB のメモリから開始するのが適しています。
* 
メモリの最小量と最大量を同じ値にするのは、JVM が必要なメモリを再評価したり、ランタイムで割り当てサイズを変更したりする必要をなくすためです。ホストされた環境や一般公開用の環境ではこの設定が推奨されますが、開発環境やテスト環境では -Xms512m で十分だと考えられます。オペレーティングシステムが機能するために十分なメモリが残っていることも確認してください。
-Dlog4j2.formatMsgNoLookups=true
JMX 監視を有効化する設定 (オプション)
メモリに問題があることが疑われる場合、システムの監視の詳細について以下のツールを参照してください。リストされている設定によって、ThingWorx で使用されている Tomcat インスタンスにこれらのツールを接続して JVM の特性を監視できます。
設定
説明
-Dcom.sun.management.jmxremote
JMX を使用してリモート監視することを JVM に通知します。
-Dcom.sun.management.jmxremote.port=22222
監視のために JVM が開く必要があるポート。
-Dcom.sun.management.jmxremote.ssl=false
SSL を使用しません。
-Dcom.sun.management.jmxremote.authenticate=false
認証は必要ありません。
-Djava.rmi.server.hostname=<host or IP>
基盤となる RMI クライアント接続が使用するホスト名と IP。
これは役に立ちましたか?