ここでは,次に示すJavaVMの資料を取得するための設定について説明します。
JavaVM起動オプションについては,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「19. JavaVM起動オプション」を参照してください。
なお,JavaVMのスレッドダンプは,デフォルトでは次のディレクトリ下に出力されます。
日立固有のJavaVMログは,デフォルトでは次のディレクトリ下に出力されます。
出力先を変更したい場合は,JavaVMまたはJ2EEサーバ起動前に,簡易構築定義ファイルで論理J2EEサーバ(j2ee-server)の<configuration>タグ内に,ejb.server.log.directoryパラメタで,ログ出力ディレクトリを変更しておく必要があります。
次に,JavaVMのスレッドダンプ,日立固有のJavaVMログ(日立JavaVMログファイル)および明示管理ヒープ機能のイベントログについて,それぞれの取得の設定を説明します。
JavaVMのスレッドダンプを取得するための設定について説明します。
JavaVMのスレッドダンプに出力される内容は,簡易構築定義ファイルでJavaVM起動パラメタに指定しているJavaVM起動オプションによって異なります。JavaVM起動オプションは,論理J2EEサーバ(j2ee-server)の<configuration>タグ内に,JavaVM起動パラメタで定義します。JavaVM起動パラメタの指定内容を次に示します。
JavaVM起動オプションに指定するオプションを次の表に示します。なお,オプションの詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「19. JavaVM起動オプション」を参照してください。
表3-23 JavaVM起動オプションに指定するオプション(JavaVMのスレッドダンプ取得の設定)
オプション | 説明 |
---|---|
-XX:+HitachiThreadDump | 拡張スレッドダンプを出力します。デフォルトの状態では,出力するように設定されています。 |
-XX:+HitachiThreadDumpToStdout | 拡張スレッドダンプを標準出力に出力します。デフォルトの状態では,出力するように設定されています。 |
-XX:+HitachiThreadDumpWithHashCode | スレッド情報にスレッドのハッシュコードを出力します。デフォルトの状態では,出力するように設定されています。 |
-XX:+HitachiThreadDumpWithCpuTime | スレッド情報にスレッドを開始してからのユーザCPU時間,およびカーネルCPU時間を出力します。デフォルトの状態では,出力するように設定されています。 |
-XX:+HitachiThreadDumpWithBlockCount | スレッド情報にスレッドが処理をブロックした回数,および処理が待ち状態になった回数を出力します。デフォルトの状態では,出力するように設定されています。 |
-XX:+HitachiOutOfMemoryAbort -XX:+HitachiOutOfMemoryAbortThreadDump | どちらも設定されている場合は,OutOfMemoryErrorによって強制終了した時に,スレッドダンプを出力します。ただし,J2SEクラスライブラリでCヒープ不足が発生した場合,およびJavaVMの処理中にCヒープ不足が発生した場合は,スレッドダンプを出力しません。 |
-XX:+HitachiOutOfMemoryAbortThreadDumpWithJHeapProf | OutOfMemoryErrorによって強制終了した時に出力されるスレッドダンプに,クラス別統計情報を出力します。デフォルトでは出力されません。 |
日立固有のJavaVMログを取得するための設定について説明します。
日立固有のJavaVMログとは,日立が標準のJavaVMに追加した拡張オプションを使用して取得できるログです。標準のJavaVMよりも,多くのトラブルシュート情報が取得できます。このログファイルを,日立JavaVMログファイルといいます。このファイルには,JavaVMのガーベージコレクションのログも出力されます。
日立JavaVMログファイルを取得するためには,簡易構築定義ファイルでJavaVM起動パラメタにJavaVM起動オプションを指定します。JavaVM起動オプションは,論理J2EEサーバ(j2ee-server)の<configuration>タグ内に,JavaVM起動パラメタで定義します。JavaVM起動パラメタの指定内容を次に示します。
JavaVM起動オプションに指定するオプションを次の表に示します。なお,オプションの詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「19. JavaVM起動オプション」を参照してください。
表3-24 JavaVM起動オプションに指定するオプション(日立固有のJavaVMログ取得の設定)
オプション | 説明 |
---|---|
-XX:+HitachiOutOfMemoryStackTrace -XX:+HitachiVerboseGC -XX:+HitachiOutOfMemoryHandling -XX:+HitachiJavaClassLibTrace | 次のオプションのうちどれかを指定している場合に,日立JavaVMログファイルを出力します。
|
必要に応じて,次の拡張オプションを指定して,日立JavaVMログファイルの出力方法や出力内容を設定してください。
次に,JavaVMの保守情報(Javaヒープの情報)およびガーベージコレクションのログに拡張verbosegc情報を出力するための設定について説明します。次の表に示すオプションで,拡張verbosegc情報の出力を有効にして,拡張verbosegc情報の出力形式を指定してください。
表3-25 拡張verbosegc情報を出力するために指定するオプション
オプション | 説明 |
---|---|
-XX:+HitachiVerboseGC | 拡張verbosegc情報を日立JavaVMログファイルに出力します。 |
-XX:+HitachiVerboseGCPrintDate | 拡張verbosegc情報の各行に日付を出力します。 |
-XX:+HitachiVerboseGCCpuTime※ | ガーベージコレクションの開始から終了までの間で,ガーベージコレクションを実行したスレッドのCPU利用時間を出力します。CPU利用時間は,ユーザモードで費やしたCPU時間とカーネルモードで費やしたCPU時間に分けて出力されます。 |
-XX:HitachiVerboseGCIntervalTime=<時間間隔(秒)> | 拡張verbosegc情報の出力間隔を指定します。 |
-XX:+HitachiVerboseGCPrintCause | 拡張verbosegc情報に,ガーベージコレクションが発生した要因を出力します。 |
-XX:+HitachiOutputMilliTime | 拡張verbosegc情報の各行に日時(ミリ秒まで)を出力します。 |
-XX:+HitachiCommaVerboseGC | 拡張verbosegc情報をCSV形式で出力します。 |
-XX:+HitachiVerboseGCPrintTenuringDistribution | Survivor領域の年齢分布情報を出力します。出力形式や出力情報については,「8.11 Survivor領域の年齢分布情報出力機能」を参照してください。 |
-XX:+HitachiVerboseGCPrintJVMInternalMemory | JavaVM内部で管理しているヒープ情報を日立JavaVMログファイルに出力します。 |
-XX:+HitachiVerboseGCPrintThreadCount | Javaスレッドの数を監視するために,Javaスレッドの数を日立JavaVMログファイルに出力します。 |
-XX:+HitachiVerboseGCPrintDeleteOnExit | java.io.File.deleteOnExit()を呼び出したことによってJavaVMが確保した累積のヒープサイズとメソッドの呼び出し回数を,日立JavaVMログファイルに出力します。 |
拡張verbosegc情報から,そのサーバで必要とするJavaヒープ領域サイズ,Perm領域サイズなどを見積もるための情報を取得できます。
ここでは,明示管理ヒープ機能のイベントログを取得するための設定について説明します。また,日立JavaVMログファイルとの関連についても説明します。
明示管理ヒープ機能のイベントログを取得するために必要な設定を次に示します。
J2EEサーバまたはバッチサーバの場合,これらの設定は,簡易構築定義ファイルでJavaVM起動パラメタに指定しているJavaVM起動オプションによって設定できます。JavaVM起動オプションは,論理J2EEサーバ(j2ee-server)の<configuration>タグ内に,JavaVM起動パラメタで定義します。JavaVM起動パラメタの指定内容を次に示します。
JavaVM起動オプションに指定するオプションを次の表に示します。なお,オプションの詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「19. JavaVM起動オプション」を参照してください。
表3-26 JavaVM起動オプションに指定するオプション(明示管理ヒープ機能のイベントログ取得の設定)
設定内容 | オプション | 説明 |
---|---|---|
出力レベルの設定 | -XX:HitachiExplicitMemoryLogLevel:<文字列> | ログ出力レベルを指定します。
|
出力するファイルについての設定 | -XX:HitachiExplicitMemoryJavaLog:<文字列> | イベントログを出力するファイルのファイル名を指定します。 |
-XX:HitachiExplicitMemoryJavaLogFileSize=<自然数> | 1ファイル当たりの最大ファイルサイズを指定します。 | |
-XX:HitachiExplicitMemoryJavaLogNumberOfFile=<自然数> | 作成するログファイルの最大数を指定します。指定値を超えると,ラップアラウンドされ,ログは最初に作成したファイルに出力されます。 |
なお,明示管理ヒープ機能のイベントログは,日立JavaVMログファイルとは異なるファイルに出力されます。ただし,一部のオプションについては,日立JavaVMログファイルに設定した値が引き継がれます。
日立JavaVMログファイルの設定を引き継ぐ項目を次の表に示します。
表3-27 日立JavaVMログファイルの設定を引き継ぐ項目
オプション名 | 意味 | デフォルト値 |
---|---|---|
-XX:+HitachiJavaLogNoMoreOutput | ログファイルの出力に失敗した場合の挙動を指定するオプションです。 | 有効 |
-XX:+HitachiOutputMilliTime | ログファイルに出力する時間の単位をミリ秒にするかどうかを指定するオプションです。 | 無効 |
日立固有のJavaVM拡張オプションの詳細は,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「19.2 日立固有のJavaVM拡張オプションの詳細」を参照してください。