チューニングパラメータは、 JVM チューニングのいい出発点となりますが、ニーズに合わせ最適な設定であることを確認するためにGCのパフォーマンスを監視しなければなりません。Oracle JVMのパフォーマンスを監視するのに役立つツールがいくつかあります。
VisualVM
VisualVMは、Oracle JVMのパフォーマンス情報を表示するための集中型コンソールを提供し、そのVisual GCプラグインはガーベージコレクターのアクティビティを表示します。
JMXコンソール
このツールは、Liferay DXPの分散キャッシュパフォーマンス、アプリケーションサーバースレッドのパフォーマンス、JDBC接続プールの使用状況など、さまざまな統計情報を表示するのに役立ちます。
JMX接続を有効にするには、以下のJVM引数を追加します:
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=5000
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
ガーベージコレクターの冗長ログ
これらのJVM引数を追加して、JVMガーベージコレクターの冗長ログを有効にします。
-verbose:gc -Xloggc:/tmp/liferaygc1.log -XX:+PrintGCDetails
-XX:+PrintGCCause -XX:+PrintGCApplicationConcurrentTime
-XX:+PrintGCApplicationStoppedTime
これらのログを調べるとJVMを正しく調整するのに役立ちます。
**注:**これらのJVM引数を追加すると、OutOfMemoryError
が発生した場合にヒープダンプが生成されます。
ダンプは指定されたヒープ・ダンプ・パスに書き込まれます。 使用するパスを指定してください。<segment 0032>
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/heap/dump/path/
これでJVMでガベージコレクションを監視し、最高のパフォーマンスを発揮できるように調整できます。