JavaVMの資料取得の設定ここでは,次に示すJavaVMの資料を取得するための設定について説明します。JavaVM起動オプション」を参照してください。JavaVMのスレッドダンプは,デフォルトでは次のディレクトリ下に出力されます。Windowsの場合<作業ディレクトリ>\ejb\<サーバ名称>UNIXの場合<作業ディレクトリ>/ejb/<サーバ名称>JavaVMログは,デフォルトでは次のディレクトリ下に出力されます。Windowsの場合<作業ディレクトリ>\ejb\<サーバ名称>\logsUNIXの場合<作業ディレクトリ>/ejb/<サーバ名称>/logs出力先を変更したい場合は,JavaVMまたはJ2EEサーバ起動前に,簡易構築定義ファイルで論理J2EEサーバ(j2ee-server)の<configuration>タグ内に,ejb.server.log.directoryパラメタで,ログ出力ディレクトリを変更しておく必要があります。次に,JavaVMのスレッドダンプ,JavaVMログ(JavaVMログファイル)および明示管理ヒープ機能のイベントログについて,それぞれの取得の設定を説明します。JavaVMのスレッドダンプ取得の設定JavaVMのスレッドダンプを取得するための設定について説明します。JavaVMのスレッドダンプに出力される内容は,簡易構築定義ファイルでJavaVM起動パラメタに指定しているJavaVM起動オプションによって異なります。JavaVM起動オプションは,論理J2EEサーバ(j2ee-server)の<configuration>タグ内に,JavaVM起動パラメタで定義します。JavaVM起動パラメタの指定内容を次に示します。<param-name>タグadd.jvm.arg<param-value>タグ<JavaVM起動オプション>JavaVM起動オプションに指定するオプションを次の表に示します。JavaVM起動オプション」を参照してください。JavaVM起動オプションに指定するオプション(JavaVMのスレッドダンプ取得の設定)オプション説明-XX:+HitachiThreadDump拡張スレッドダンプを出力します。デフォルトの状態では,出力するように設定されています。-XX:+HitachiThreadDumpToStdout拡張スレッドダンプを標準出力に出力します。デフォルトの状態では,出力するように設定されています。-XX:+HitachiThreadDumpWithHashCodeスレッド情報にスレッドのハッシュコードを出力します。デフォルトの状態では,出力するように設定されています。-XX:+HitachiThreadDumpWithCpuTimeスレッド情報にスレッドを開始してからのユーザCPU時間,およびカーネルCPU時間を出力します。デフォルトの状態では,出力するように設定されています。-XX:+HitachiThreadDumpWithBlockCountスレッド情報にスレッドが処理をブロックした回数,および処理が待ち状態になった回数を出力します。デフォルトの状態では,出力するように設定されています。-XX:+HitachiOutOfMemoryAbort-XX:+HitachiOutOfMemoryAbortThreadDumpどちらも設定されている場合は,OutOfMemoryErrorによって強制終了した時に,スレッドダンプを出力します。J2SEクラスライブラリでCヒープ不足が発生した場合,およびJavaVMの処理中にCヒープ不足が発生した場合は,スレッドダンプを出力しません。-XX:+HitachiOutOfMemoryAbortThreadDumpWithJHeapProfOutOfMemoryErrorによって強制終了した時に出力されるスレッドダンプに,クラス別統計情報を出力します。デフォルトでは出力されません。スレッドダンプファイルの出力先を変更する場合は,JAVACOREDIR環境変数に出力先を指定してください。JavaVMで使用する環境変数の詳細」を参照してください。JavaVMログ取得の設定JavaVMログを取得するための設定について説明します。JavaVMログとは,製品が標準のJavaVMに追加した拡張オプションを使用して取得できるログです。標準のJavaVMよりも,多くのトラブルシュート情報が取得できます。このログファイルを,JavaVMログファイルといいます。このファイルには,JavaVMのGCのログも出力されます。JavaVMログファイルを取得するためには,簡易構築定義ファイルでJavaVM起動パラメタにJavaVM起動オプションを指定します。JavaVM起動オプションは,論理J2EEサーバ(j2ee-server)の<configuration>タグ内に,JavaVM起動パラメタで定義します。JavaVM起動パラメタの指定内容を次に示します。<param-name>タグadd.jvm.arg<param-value>タグ<JavaVM起動オプション>JavaVM起動オプションに指定するオプションを次の表に示します。JavaVM起動オプション」を参照してください。JavaVM起動オプションに指定するオプション(JavaVMログ取得の設定)オプション説明-XX:+HitachiOutOfMemoryStackTrace-XX:+HitachiVerboseGC-XX:+HitachiOutOfMemoryHandling-XX:+HitachiJavaClassLibTrace-XX:+JITCompilerContinuation次のオプションのうちどれかを指定している場合に,JavaVMログファイルを出力します。-XX:+HitachiOutOfMemoryStackTraceを指定している場合は,例外情報とスタックトレースをJavaVMログファイルに出力します。このオプションを指定すると,-XX:+HitachiOutOfMemorySizeおよび-XX:+HitachiOutOfMemoryCauseも同時に指定されます。-XX:+HitachiVerboseGCを指定している場合は,GCが発生したときに,拡張verbosegc情報をJavaVMログファイルに出力します。-XX:+HitachiOutOfMemoryHandlingを指定している場合は,Javaヒープ不足またはMetaspace領域不足が原因のOutOfMemory発生時に,OutOfMemoryの発生頻度に関する情報をJavaVMログファイルに出力します。-XX:+HitachiJavaClassLibTraceを指定している場合は,クラスライブラリのスタックトレースをJavaVMログファイルに出力します。-XX:+JITCompilerContinuationを指定している場合は,JITコンパイラ稼働継続機能が有効になるため,JITコンパイルがアプリケーションを構成するメソッドの論理矛盾で失敗すると,JITコンパイラ稼働継続機能のログをJavaVMログファイルに出力します。必要に応じて,次の拡張オプションを指定して,JavaVMログファイルの出力方法や出力内容を設定してください。次に,JavaVMの保守情報(Javaヒープの情報)およびGCのログに拡張verbosegc情報を出力するための設定について説明します。次の表に示すオプションで,拡張verbosegc情報の出力を有効にして,拡張verbosegc情報の出力形式を指定してください。拡張verbosegc情報を出力するために指定するオプションオプション説明-XX:+HitachiVerboseGC拡張verbosegc情報をJavaVMログファイルに出力します。-XX:+HitachiVerboseGCPrintDate拡張verbosegc情報の各行に日付を出力します。-XX:+HitachiVerboseGCCpuTimeGCの開始から終了までの間で,GCを実行したスレッドのCPU利用時間を出力します。CPU利用時間は,ユーザモードで費やしたCPU時間とカーネルモードで費やしたCPU時間に分けて出力されます。-XX:HitachiVerboseGCIntervalTime=<時間間隔(秒)>拡張verbosegc情報の出力間隔を指定します。-XX:+HitachiVerboseGCPrintCause拡張verbosegc情報に,GCが発生した要因を出力します。-XX:+HitachiOutputMilliTime拡張verbosegc情報の各行に日時(ミリ秒まで)を出力します。-XX:+HitachiCommaVerboseGC拡張verbosegc情報をCSV形式で出力します。-XX:+HitachiVerboseGCPrintTenuringDistributionSurvivor領域の年齢分布情報を出力します。-XX:+HitachiVerboseGCPrintJVMInternalMemoryJavaVM内部で管理しているヒープ情報をJavaVMログファイルに出力します。-XX:+HitachiVerboseGCPrintThreadCountJavaスレッドの数を監視するために,Javaスレッドの数をJavaVMログファイルに出力します。-XX:+HitachiVerboseGCPrintDeleteOnExitjava.io.File.deleteOnExit()を呼び出したことによってJavaVMが確保した累積のヒープサイズとメソッドの呼び出し回数を,JavaVMログファイルに出力します。拡張verbosegc情報から,そのサーバで必要とするJavaヒープ領域サイズ,Metaspace領域サイズなどを見積もるための情報を取得できます。明示管理ヒープ機能のイベントログ取得の設定ここでは,明示管理ヒープ機能のイベントログを取得するための設定について説明します。JavaVMログファイルとの関連についても説明します。明示管理ヒープ機能のイベントログを取得するために必要な設定を次に示します。目的に応じたログを出力するために,ログ出力レベルを設定します。「none」「normal」「verbose」「debug」の4段階で指定できます。J2EEサーバのデフォルトは「normal」です。「none」<「normal」<「vervose」<「debug」の順でログが詳細になり,出力量も多くなります。通常は「normal」を指定して運用し,障害が発生した場合には「verbose」を指定して詳細なログを取得する,といった運用ができます。明示管理ヒープ機能のログは,ほかのJavaVMのログとは別のファイルに出力されます。想定する運用に応じて,出力先のファイル,ファイルのサイズ,およびファイルの個数を設定してください。J2EEサーバまたはバッチサーバの場合,これらの設定は,簡易構築定義ファイルでJavaVM起動パラメタに指定しているJavaVM起動オプションによって設定できます。JavaVM起動オプションは,論理J2EEサーバ(j2ee-server)の<configuration>タグ内に,JavaVM起動パラメタで定義します。JavaVM起動パラメタの指定内容を次に示します。<param-name>タグadd.jvm.arg<param-value>タグ<JavaVM起動オプション>JavaVM起動オプションに指定するオプションを次の表に示します。JavaVM起動オプション」を参照してください。出力レベルの設定-XX:HitachiExplicitMemoryLogLevel:<文字列>ログ出力レベルを指定します。none明示管理ヒープ機能のイベントログが出力されません。normal通常運用の場合に指定します。Explicitヒープのサイズが大きく変化するイベントが発生した場合や,GC発生時のExplicitヒープの状態が出力されます。verbose障害が発生した場合など,詳細なログが必要なときに指定します。debugverboseよりもさらに詳細なログが必要な場合に指定します。システムのパフォーマンスは低下します。出力するファイルについての設定-XX:HitachiExplicitMemoryJavaLog:<文字列>イベントログを出力するファイルのファイル名を指定します。-XX:HitachiExplicitMemoryJavaLogFileSize=<自然数>1ファイル当たりの最大ファイルサイズを指定します。-XX:HitachiExplicitMemoryJavaLogNumberOfFile=<自然数>作成するログファイルの最大数を指定します。指定値を超えると,ラップアラウンドされ,ログは最初に作成したファイルに出力されます。明示管理ヒープ機能のイベントログは,JavaVMログファイルとは異なるファイルに出力されます。一部のオプションについては,JavaVMログファイルに設定した値が引き継がれます。JavaVMログファイルの設定を引き継ぐ項目を次の表に示します。意味デフォルト値-XX:+HitachiJavaLogNoMoreOutputログファイルの出力に失敗した場合の挙動を指定するオプションです。有効-XX:+HitachiOutputMilliTimeログファイルに出力する時間の単位をミリ秒にするかどうかを指定するオプションです。JavaVM拡張オプションの詳細」を参照してください。