本文へスキップ

Jetty

JVMオプションの追加

Jettyアプリケーションサーバー環境でJavaモニタリングエージェントを効果的に使用するために必要なJVMオプションを追加する方法を案内します。

  • _jetty.sh_ファイルにJVMオプションを追加

    $JETTY_HOME/bin/jetty.sh
    ...
    JAVA_OPTIONS+=("-javaagent:/home/vagrant/whatap/whatap.agent-X.Y.Z.jar -Dwhatap.port=8080")
    usage()
    {
    echo "Usage: ${0##*/} [-d] {start|stop|run|restart|check|supervise} [ CONFIGS ... ] "
    exit 1
    }
    [ $# -gt 0 ] || usage
    ...
  • シェルスクリプトがいない状態でJettyの開始

    $ java -javaagent:/home/vagrant/whatap/whatap.agent-X.Y.Z.jar -Dwhatap.port=8080 -jar start.jar &
ノート

Java 17 以降では、reflectionに関する次のオプションを追加します。


--add-opens=java.base/java.lang=ALL-UNNAMED

ヒープヒストグラム照会

WhaTapのJavaモニタリングでは、JVMメモリのヒープ占有オブジェクト現況(ヒープメモリ上のオブジェクト別サイズ)を照会できる機能を標準として提供します。 アプリケーション > インスタンスパフォーマンス分析メニューからヒープヒストグラムタブを選択してください。

Java 6~8バージョンでは、JVMオプションなしで標準対応しますが、一部のJavaバージョンによっては次のようにJVMオプションを適用する必要があります。

  • Java 9 ~ Java 15バージョン

    -Djdk.attach.allowAttachSelf=true
    example
    java -javaagent:{WHATAP_HOME}/whatap.agent-X.Y.Z.jar -Djdk.attach.allowAttachSelf=true -jar {application.jar}
  • Java 16バージョン以降

    -Djdk.attach.allowAttachSelf=true
    --add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED
    example
    java -javaagent:{WHATAP_HOME}/whatap.agent-X.Y.Z.jar -Djdk.attach.allowAttachSelf=true --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED -jar {application.jar}
ノート

Java 5以前の旧バージョン、IBM Javaには対応していません。

モニタリングの開始

すべての設定を完了してからアプリケーションサーバーを再起動すると、エージェントが情報収集を開始します。次の文書を確認してください。