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% に設定する必要があります。
* 
メモリの最小量と最大量を同じ値にするのは、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。
-Xmx パラメータ値の更新
インストーラを使用する場合、次の手順を実行して、Service ファイルですべての Java ヒープ設定を MB 単位で設定する必要があります。
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」を参照してください。
これは役に立ちましたか?