この問題を解決するには、JMX を有効にして vRO アプリケーションのセッションをトラブルシューティングする必要があります。
注:Windows ベースの vRO 場合:
- vRO がインストールされているローカル マシンに java をインストールします。ここで必要なのは、java/jdk ホーム ディレクトリの bin フォルダから visualvm を起動することだけです。
または
- リモート マシンに java をインストールします。ただし、vRO サーバをリモートで監視するには、vRO サーバ構成ファイルの jmx ポートを有効にして、vRO サーバを再起動する必要があります。
vRO で jmx リモート ログを有効にするには:
- wrapper.conf と wrapper-auto.conf ファイルのバックアップを作成します。
- 次のようにファイルを編集します。
wrapper.java.additional.21="-Dcom.sun.management.jmxremote.authenticate=false
" wrapper.java.additional.22="-Dcom.sun.management.jmxremote.ssl=false"
wrapper.java.additional.23="-Dcom.sun.management.jmxremote.port=1099"
wrapper.java.additional.24="-Djboss.platform.mbeanserver"
注:番号は順番に割り当てられ、最新のエントリが wrapper.java.additional.8 の場合は、ファイルを次のように編集します。
wrapper.java.additional.9="Dcom.sun.management.jmxremote.authenticate=false"
wrapper.java.additional.10="-Dcom.sun.management.jmxremote.ssl=false"
wrapper.java.additional.11="-Dcom.sun.management.jmxremote.port=1099"
wrapper.java.additional.12="-Djboss.platform.mbeanserver"
- vRO サービスを再起動します。
- JVisualVM を使用して、リモート マシンからポート 1099 のホストに接続します。
分析のダンプを作成する方法:
- JAVA_HOM E ディレクトリ -> JDK\bin フォルダに移動し、jVisualVM exe ファイルをダブルクリックします。
- アプリケーションを起動した後、[ローカル] アイコンまたは [リモート] アイコンを右クリックします。
- オプションにある [JMX 接続を追加] を選択して、jmx ポート番号とともに IP アドレスを指定します。
たとえば、10.112.x.x:1099 のようになります。
- JMS コンソールが開きます。
ヒープがグラフィック表示で提供されます。開いているプロセスを右クリックして、スレッド ダンプを収集することができます。
vRO 6.x 以前のアプライアンス上で JMX ポートを有効にするには:
- vco サーバで jmx ポートを有効にするには、/var/lib/vco/app-server/conf/server.xml ファイルに次の行を追加します。
<Listener className="com.springsource.tcserver.serviceability.rmi.JmxSocketListener"
port="6969"
bind="vco_appliance_ip_address"
useSSL="false"
passwordFile="${catalina.base}/conf/jmxremote.password"
accessFile="${catalina.base}/conf/jmxremote.access"|
authenticate="false"/> - vco サーバを再起動します。
- jvisualvm を開き、リモート ホストを追加します。
- vco_appliance_ip_address:6969 を使用して JMX 接続を追加します。
- 接続に成功したら、接続されている jmx ホストをダブルクリックします。
- [スレッド] > [スレッド ダンプ] に移動し、すべてのスレッドを収集します。
スレッド ダンプを収集した後、server.xml ファイルに対して行った構成の変更を元の状態に戻してください。
vRO 7.x アプライアンス上で JMX ポートを有効にするには:
- CATALINA_OPTS は JVM_OPTS を入力としてとるので、CATALINA_OPTS を含む行の上の /var/lib/vco/app-server/bin/setenv.sh に、以下の行を追加します。
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=2838 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
- /var/lib/vco/app-server/conf/catalina.properties で、以下を変更します。
java.rmi.server.hostname= IP_of_vRO_server
- vRO サービスを再起動します。