本文へスキップ

Play2

JVMオプションの追加

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

_$PLAY_HOME/framework/build_ファイルにエージェントオプションを設定してください。別途利用する開始または停止スクリプトがある場合は、そのファイルに適用してください。

#! /usr/bin/env sh

########## WHATAP START ############
WHATAP_HOME=/apps/whatap
WHATAP_JAR=`ls ${WHATAP_HOME}/whatap.agent-*.jar | sort -V | tail -1`
JAVA_OPTS="${JAVA_OPTS} -Dwhatap.play2=2.2.6 -javaagent:${WHATAP_JAR}"
########## WHATAP END ############

if [ -z "${PLAY_VERSION}" ]; then
PLAY_VERSION="2.2.6"
...
ノート

Playは基本設定に、-Dwhatap.play2=2.2.6オプションを追加する必要があります。

ノート

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には対応していません。

モニタリングの開始

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