Interstage Application Server/Interstage Web Server トラブルシューティング集
目次 索引 前ページ次ページ

付録A Javaツール機能> A.1 メソッドトレース機能

A.1.5 使用方法

 ここでは、メソッドトレース機能を有効にする際に必要な環境変数の設定方法、および起動オプションの指定方法を説明します。

 なお、ここでは次のように記述します。

 メソッドトレース機能を有効にするには、起動オプションに次を指定します。


【JDK/JRE 5.0を使用する場合】

-agentlib:traceagent =制御ファイル名
  または
-agentpath:C:\Interstage\jdk5\tools\fjtrace\TraceAgent.dll=制御ファイル名


-agentlib:traceagent=制御ファイル名
  または
-agentpath:/opt/FJSVawjbk/jdk5/tools/fjtrace/libtraceagent.so=制御ファイル名

【JDK/JRE 1.4を使用する場合】

-XX:FJTRACE=制御ファイル名

 起動オプションで制御ファイル名を指定する際、次の事項に注意してください。

■javaコマンドでの指定方法

 ここでは、javaコマンドでのオプションの指定方法を説明します。

◆JDK/JRE 5.0で “-agentlib”オプションを使う場合

【環境変数】

あらかじめ、次の環境変数にメソッドトレース機能の格納先のフルパスを追加してください。

Windows(R)の場合: PATH
Solaris/Linuxの場合: LD_LIBRARY_PATH

環境変数の指定が正しく行われていない場合、標準出力(IJServerでは起動情報)にメッセージが出力され、Javaアプリケーションが実行されません。詳細は、下の注意事項“TraceAgent.dll(libtraceagent.so)が見つからない場合”を参照してください。

【指定例】

java -agentlib:traceagent=D:\tmp\trace.conf TestApp

◆JDK/JRE 5.0で“-agentpath”オプションを使う場合

【環境変数】

あらかじめ、次の環境変数にメソッドトレース機能の格納先のフルパスを追加してください。

Windows(R)の場合: PATHまたはCLASSPATH
Solaris/Linuxの場合: LD_LIBRARY_PATHまたはCLASSPATH

両方の環境変数に追加した場合は、Windows(R)の場合“PATH”、Solaris/Linuxの場合“LD_LIBRARY_PATH”の指定が採用されます。
両方の環境変数の指定が正しく行われていない場合、標準出力(IJServerでは起動情報)に次のメッセージが出力され、Javaアプリケーションが実行されません。

FATAL ERROR in native method: FJTRACE:701: FJTRACE stopped due to an internal error in the agent library.

【指定例】

java -agentpath:C:\Interstage\jdk50\tools\fjtrace\TraceAgent.dll=D:\tmp\trace.conf TestApp

◆JDK/JRE 1.4で“-XX:FJTRACE”オプションを使う場合

【環境変数】

あらかじめ、mt.jarのフルパスを、環境変数CLASSPATHに追加してください。

【指定例】

java -XX:FJTRACE=D:\tmp\trace.conf TestApp

【注意事項】

 次の場合は、“-Xbootclasspath/p”オプションも指定する必要があります。“-Xbootclasspath/p”オプションには、メソッドトレース機能の格納先にある3つのjarファイル(mt.jar、bcel-5.1.jar、およびjakarta-regexp-1.2.jar)へのパスを追加してください。

“-Xbootclasspath/p”を用いた指定方法の例

java -Xbootclasspath/p:C:\Interstage\jdk14\tools\fjtrace\mt.jar;C:\Interstage\jdk14\tools\fjtrace\jakarta-regexp-1.2.jar;C:\Interstage\jdk14\tools\fjtrace\bcel-5.1.jar -XX:FJTRACE=D:\tmp\trace.conf TestApp

java -Xbootclasspath/p:/opt/FJSVawjbk/jdk14/tools/fjtrace/mt.jar: /opt/FJSVawjbk/jdk14/tools/fjtrace/jakarta-regexp-1.2.jar:/opt/FJSVawjbk/jdk14/tools/fjtrace/bcel-5.1.jar -XX:FJTRACE=/tmp/trace.conf TestApp

 ※Windows(R)の場合は、jarファイル間のパス区切り文字はセミコロン(;)ですが、SolarisおよびLinuxの場合は、コロン(:)となります。

■IJServerでの指定方法

 IJServerにおける起動オプションおよび環境変数の設定は、Interstage管理コンソールで行います。

◆V9.0以降のIJServerを使用している場合

  1. 次の箇所にて、起動オプション“-agentlib”または“-agentpath”の設定を行います。
  2. 次の箇所にて、メソッドトレース機能の格納先のフルパスを設定します。

 起動オプションおよび環境変数の設定内容については、“javaコマンドでの指定方法”を参照してください。

 Interstage管理コンソールの環境設定の詳細は、“Interstage管理コンソール ヘルプ”の[Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ワークユニットごとの操作] > [IJServer] > [環境設定]を参照してください。

◆V8.0互換モードのIJServerを使用している場合

  1. 次の箇所にて、起動オプション“-XX:FJTRACE”および“-Xbootclasspath”の設定を行います。
  2. 次のどちらかの箇所にて、mt.jarへのクラスパス(環境変数CLASSPATH)の設定を行います。

 起動オプションおよび環境変数の設定内容については、“javaコマンドでの指定方法”を参照してください。

 Interstage管理コンソールの環境設定の詳細は、“Interstage管理コンソール ヘルプ”の[Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ワークユニットごとの操作] > [IJServer] > [環境設定]を参照してください。

■注意事項

TraceAgent.dll(libtraceagent.so)が見つからない場合

 次のようなケースで“TraceAgent.dll(libtraceagent.so)”が見つからない場合、標準出力(IJServerでは起動情報)にメッセージが出力され、プログラムが実行されません。
 その場合に出力されるメッセージは、次のとおりです。(太字はユーザ入力部分)

>java -agentlib:traceagent TestApp
Error occurred during initialization of VM
Could not find agent library on the library path or in the local directory: traceagent

または、

>java -agentpath: C:\Interstage\jdk5\tools\fjtrace\fjtrace\TraceAgent TestApp
Error occurred during initialization of VM
Could not find agent library in absolute path: C:\Interstage\jdk5\tools\fjtrace\fjtrace\TraceAgent

 なお、エージェント名の指定を行わなかった場合、次のメッセージが標準出力(IJServerでは起動情報)に出力され、プログラムが実行されません。(太字はユーザ入力部分)

>java -agentlib: TestApp
Error occurred during initialization of VM
Could not find agent library on the library path or in the local directory:

または、

>java -agentpath: TestApp
Error occurred during initialization of VM
Could not find agent library in absolute path:

製品添付のJDK/JRE 1.4以外で“-XX:FJTRACE”を指定した場合

 “-XX:FJTRACE”オプションは製品添付のJDK/JRE 1.4でのみ有効です。
 製品添付のJDK/JRE 1.4以外のJDK/JREで指定した場合、次のメッセージが標準出力(IJServerでは起動情報)に出力され、プログラムが実行されません。(太字はユーザ入力部分)

>java -XX:FJTRACE=D:\tmp\trace.conf' TestApp
Unrecognized VM option 'FJTRACE=D:\tmp\trace.conf'
Could not create the Java virtual machine.

JDK/JRE 1.4で“-agentlib”または“-agentpath”を指定した場合

 “-agentlib”および“-agentpath”オプションはJDK/JRE 5.0でのみ有効です。
 製品添付のJDK/JRE 1.4で“-agentlib”または“-agentpath”オプションを指定した場合、次のメッセージが標準出力(IJServerでは起動情報)に出力され、プログラムが実行されません。(太字はユーザ入力部分)

>java -agentlib:traceagent TestApp
Unrecognized option: -agentlib:traceagent
Could not create the Java virtual machine.

または、

>java -agentpath:C:\Interstage\jdk50\tools\fjtrace\TraceAgent=D:\tmp\trace.conf TestApp
Unrecognized option: -agentpath: C:\Interstage\jdk50\tools\fjtrace\TraceAgent
Could not create the Java virtual machine.

メソッドトレース機能へのクラスパスの設定が正しく行われなかった場合

 メソッドトレース機能へのクラスパスの設定(“CLASSPATH”環境変数、または“-Xbootclasspath/p”オプションの指定)が正しく行われていない状態で、メソッドトレース機能を有効にするオプションを指定した場合、次のメッセージが標準出力(IJServerでは起動情報)に出力され、プログラムが実行されません。SolarisおよびLinuxの場合、プログラムの応答がなくなる現象(ハングアップ)が起こる場合があります。
 また、クラスパスを設定するとき、jarファイルの区切り文字を間違えて使用した場合も同様です。

FJPROF: Cannot found com/fujitsu/jvm/prof/FJProf2 class.
Failed to load Main Class: mainを持つクラス名

または、

Exception in thread "main" java.lang.NoClassDefFoundError: com/fujitsu/jvm/mt/B2B

 メソッドトレース機能を指定することで、FJVMの長時間コンパイル処理の検出機能によりJavaプロセスが強制終了する場合があります。その場合は回避策として、-XX:CompileTimeoutオプションを指定してください。
 -XX:CompileTimeoutオプションの指定方法は、“チューニングガイド”の“JDK/JREのチューニング”の“長時間コンパイル処理の検出機能”を参照してください。

目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED