Interstage Application Server トラブルシューティング集 |
目次
索引
![]() ![]() |
付録B Javaツール機能 | > B.1 メソッドトレース機能 |
ここでは、Java VMの起動オプションを説明します。
メソッドトレース機能を有効にするには、Java VMの起動オプションに、以下を指定します。
-XX:FJTRACE=制御ファイル名
javaコマンドでの指定方法を説明します。
なお、ここでの記述方法は、以下のとおりです。
以下は、基本的なjavaコマンドです。
java -XX:FJTRACE=D:\tmp\trace.conf TestApp
次の場合は、“-Xbootclasspath/p”を指定します。
指定するファイルは、mt.jar,bcel-5.1.jar,jakarta-regexp-1.2.jarの3つです。
各ファイルは、以下のディレクトリにあります。
“-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の場合は、jarファイル間の区切り文字はセミコロン(;)ですが、SolarisおよびLinuxの場合は、コロン(:)となります。
メソッドトレース機能へのクラスパスの設定(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
たとえば、IJServerでは、以下のメッセージが、ワークユニットが出力するログファイル(管理コンソールのログ参照、起動情報)に出力されます。
FJPROF: Cannot found com/fujitsu/jvm/prof/FJProf2 class.
Failed to load Main Class: com.fujitsu.interstage.j2ee.ijserver.IJServer
FJVMがシステムデフォルトに設定されていない場合は、“-fjvm”を追加してください。
java -fjvm -XX:FJTRACE=D:\tmp\trace.conf TestApp
参考
FJVMがシステムデフォルトか確認するには、javaコマンドに-versionオプションを指定します。
java -version
実行後、画面には、以下が表示されます。
java version "1.4.n"
Java(TM) 2 Runtime Environment, Standard Edition(build1.4.n-bnn_Fujitsu_dd-mm-yy_hh:MM)
Java HotSpot(TM) Server VM (build 1.4.n_FUJITSU_MODIFIED-Bnn, mixed mode)
※表示中のn,nn,dd,mm,yy,hh,MMには、任意の数字が入ります。
3行目の( )内に“FUJITSU_MODIFIED“という文字列があれば、FJVMが、システムデフォルトとなっています。
メソッドトレース機能を指定することで、FJVMの長時間コンパイル処理の検出機能によりJavaプロセスの強制終了が発生することがあります。現象の回避策として、-XX:CompileTimeoutオプションがあります。
-XX:CompileTimeoutオプションの指定方法は、FJVMのトラブルシューティング機能の“長時間コンパイル処理の検出機能”を参照してください。
Interstage管理コンソールで設定する方法を、以下に示します。
Interstage管理コンソールの環境設定の画面で、以下を設定します。
“-XX:FJTRACE=制御ファイル名”
“-Xbootclasspath/p:メソッドトレースモジュールへのパス”
設定方法は、“javaコマンドでの指定方法”を参照してください。
Interstage管理コンソールの環境設定の詳細は、“Interstage管理コンソール ヘルプ”の以下を参照してください。
制御ファイルに記述した内容は、アプリケーションの起動時に一度だけ読み込まれます。
制御ファイルを更新し、その内容をメソッドトレースに反映させるためには、javaコマンドの再起動、あるいはIJServerでは、ワークユニットの再起動が必要となります。
なお、ワークユニットの操作方法は、“Interstage管理コンソール ヘルプ”の以下を参照してください。
FJVM以外でメソッドトレース機能を有効にするオプションを指定した場合、以下のメッセージが標準出力(IJServerでは、管理コンソールのログ参照、起動情報)に出力され、プログラムが実行されません。(太字がユーザ入力部分です)。
>java -XX:FJTRACE=D:\tmp\trace.conf TestApp
Unrecognized VM option 'FJTRACE=D:\tmp\trace.conf'
Could not create the Java virtual machine.
目次
索引
![]() ![]() |