ページの先頭行へ戻る
Interstage Application Server V12.0.0 トラブルシューティング集
FUJITSU Software

A.1.5 使用方法

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

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

起動オプションの指定方法

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

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

※製品を“C:\Interstage”にインストールした場合を想定しています。

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

※製品を“C:\Interstage”にインストールした場合を想定しています。

注意

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

  • 制御ファイル名はフルパスで指定します。

  • “=制御ファイル名”を省略した場合(“-agentlib:traceagent”のみ、“-agentpath:[TraceAgent.dll(libtraceagent.so)へのフルパス]”のみ)、または、制御ファイル名に指定したファイルが存在しない場合、カレントディレクトリにある“fjtrace.conf”というファイルが読み込まれます。

  • 制御ファイル名に指定したファイルが存在しない場合、かつ、カレントディレクトリに“fjtrace.conf”というファイルも存在しない場合は、次のメッセージを標準出力(または、使用方法記載のログファイル)に出力して、アプリケーションを実行します。この場合は、メソッドトレースは行いません。

    FJTRACE:201: fjtrace.conf (指定されたファイルが見つかりません。)

javaコマンドでの指定方法

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

“-agentlib”オプションを使う場合

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

  • Windows(R)の場合: PATH

  • Solaris/Linuxの場合: LD_LIBRARY_PATH

環境変数の指定が正しく行われていない場合、標準出力(または、使用方法記載のログファイル)にメッセージが出力され、Javaアプリケーションが実行されません。詳細は、注意“TraceAgent.dll(libtraceagent.so)が見つからない場合”を参照してください。

指定例

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

“-agentpath”オプションを使う場合

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

  • Windows(R)の場合: PATHまたはCLASSPATH

  • Solaris/Linuxの場合: LD_LIBRARY_PATHまたはCLASSPATH

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

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

指定例

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

IJServerクラスタ(Java EE 7機能)での指定方法

起動オプションは、Java VMオプションとして指定します。Java VMオプションの指定方法については、以下のマニュアルを参照してください。

Enterprise EditionIJServerでの指定方法

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

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

  1. 次の箇所にて、起動オプション“-agentlib”または“-agentpath”の設定を行います。

    • “環境設定”の[ワークユニット設定] > [Java VMオプション]

  2. 次の箇所にて、メソッドトレース機能の格納先のフルパスを設定します。


    • “環境設定”の[ワークユニット設定] > [パス]


    • “環境設定”の[ワークユニット設定] > [ライブラリパス]

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

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

注意

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

次のようなケースで“TraceAgent.dll(libtraceagent.so)”が見つからない場合、標準出力(または、使用方法記載のログファイル)にメッセージが出力され、プログラムが実行されません。

  • 環境変数に“TraceAgent.dll(libtraceagent.so)”の格納先へのフルパスが正しく指定されていない

  • エージェント名“traceagent”という文字列で指定されていない

その場合に出力されるメッセージは、次のとおりです。(太字はユーザ入力部分)

>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\jdk7\tools\fjtrace\fjtrace\TraceAgent TestApp
Error occurred during initialization of VM
Could not find agent library in absolute path: C:\Interstage\jdk7\tools\fjtrace\fjtrace\TraceAgent

なお、エージェント名の指定を行わなかった場合、次のメッセージが標準出力(または、使用方法記載のログファイル)に出力され、プログラムが実行されません。(太字はユーザ入力部分)

>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:

注意

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

メソッドトレース機能へのクラスパスの設定(“CLASSPATH”環境変数、または“-Xbootclasspath/p”オプションの指定)が正しく行われていない状態で、メソッドトレース機能を有効にするオプションを指定した場合、次のメッセージが標準出力(または、使用方法記載のログファイル)に出力され、プログラムが実行されません。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 7のチューニング”、および“JDK/JRE 8のチューニング”の“長時間コンパイル処理の検出機能”を参照してください。