-XX:[+|-]HitachiVerboseGCPrintDeleteOnExit(java.io.File.deleteOnExit()が使用するヒープサイズの出力オプション)
形式
- -XX:+HitachiVerboseGCPrintDeleteOnExit
-
java.io.File.deleteOnExit()を呼び出して確保した累積のヒープサイズと,メソッドの呼び出し回数を出力します。
- -XX:-HitachiVerboseGCPrintDeleteOnExit
-
java.io.File.deleteOnExit()を呼び出して確保した累積のヒープサイズと,メソッドの呼び出し回数を出力しません。
説明
java.io.File.deleteOnExit()を呼び出したことによってJavaVMが確保した累積のヒープサイズとメソッドの呼び出し回数を,JavaVMログファイルに出力するかどうかを指定します。
java.io.File.deleteOnExit()は,呼び出すたびに指定されたファイルのパス情報をヒープに確保しますが,確保した領域はプロセスの終了まで解放しないため,メモリの圧迫につながるおそれがあります。-XX:+HitachiVerboseGCPrintDeleteOnExitオプションを指定すると,JavaVMがjava.io.File.deleteOnExit()を呼び出して確保したヒープサイズをログに出力して監視できるようになります。また,java.io.File.deleteOnExit()の呼び出し状況を把握するための補助的な情報として,メソッドの呼び出し回数も同時に出力できます。
出力した情報は,障害発生時,java.io.File.deleteOnExit()の呼び出しによって確保されたヒープサイズを把握してメモリ不足の原因を調査するために役立てられます。また,運用開始前の開発やテスト段階で,java.io.File.deleteOnExit()の呼び出しによって確保したヒープサイズの増加の推移を確認して,運用時にメモリを圧迫する予兆がないかを事前確認するためにも利用できます。
なお,エラーが発生した場合は,エラーメッセージが出力されます。
- デフォルト値
-
-
-XX:+HitachiVerboseGCPrintDeleteOnExit
-
- 前提オプション
-
-
-XX:+HitachiVerboseGC
-
出力形式
JavaVMログファイルの出力形式を次に示します。
[id] <date> (Skip Full:full_count, Copy:copy_count, Inc:inc_count) [gc_kind gc_info, gc_time secs][Eden: eden_info][Survivor: survivor_info][Tenured: tenured_info] [Metaspace: metaspace_info][class space: class_space_info][cause:cause_info] [User: user_cpu secs][Sys: system_cpu secs][IM: jvm_alloc_size, mmap_total_size, malloc_total_size][TC: thread_count][DOE: doe_alloc_size, called_count]
出力内容を次に示します。なお,ここでは,このオプションによって出力される項目について説明します。ここで説明している以外の項目については,「-XX:[+|-]HitachiVerboseGC(拡張verbosegc情報出力オプション)」の出力形式の説明を参照してください。
- doe_alloc_size
-
java.io.File.deleteOnExit()を呼び出して確保した累積のヒープサイズ。単位はキロバイトです。
- called_count
-
java.io.File.deleteOnExit()の呼び出し回数。
エラーが発生した場合のエラーメッセージの出力形式を次に示します。
[DOE]<date>Error occurred during processing of java.io.File.deleteOnExit's heap size output function. (<保守情報>) [DOE]java.io.File.deleteOnExit's heap size output function stopped.
エラーメッセージの出力内容を次に示します。
- DOE
-
java.io.File.deleteOnExit()のヒープサイズ出力機能でエラーが発生したことを示す識別子。
- date
-
エラーが発生した日時。
出力例
-
JavaVMログファイルの出力例を次に示します。
[VGC]<Wed Jan 27 13:03:36 2010>(Skip Full:0,Copy:0)[GC 489K->152K(3520K), 0.0156080 secs][DefNew::Eden: 489K->0K(2048K)][DefNew::Survivor: 0K->63K(64K)][Tenured: 0K->88K(1408K)][Metaspace: 3634K(4492K, 4492K)->3634K(4492K, 4492K)][class space: 356K(388K, 388K)->356K(388K, 388K)][cause:ObjAllocFail][IM: 729K, 928K, 0K] [TC: 509][DOE: 16K, 170]
-
エラーメッセージの出力例を次に示します。
[DOE]<Wed Jan 27 13:03:36 2010> Error occurred during processing of java.io.File.deleteOnExit's heap size output function. (FindClass:java.lang.String) [DOE]java.io.File.deleteOnExit's heap size output function stopped.
注意事項
-
次の場合は,java.io.File.deleteOnExit()を呼び出しても累積のヒープサイズ,メソッドの呼び出し回数がカウントされません。
-
java.io.File.deleteOnExit()を呼び出した場合にSecurityException例外が発生したとき(この例外はセキュリティマネージャのSecurityManager.checkDelete()がファイルへの削除アクセスを許可しない場合に発生します。この場合,メソッドの入り口で例外が挙がり,ヒープは確保されません)。
-
アプリケーションサーバのバッチアプリケーション実行基盤で作成されたアプリケーションから呼び出した場合。
-
同一のパス名文字列で作成したFileインスタンスを使用してjava.io.File.deleteOnExit()を呼び出したとき。
-
-
この機能が出力するヒープサイズを確認する際には,次の点に注意してください。
-
java.io.File.deleteOnExit()が確保するヒープの種類はJavaヒープです。
-
ヒープサイズはキロバイト単位で出力され,1キロバイト未満は切り捨てられます。java.io.File.deleteOnExit()の1回の呼び出しで確保するヒープサイズは,ファイルパスの長さに応じて数十バイトから100バイト程度であるため,呼び出しごとにヒープサイズの出力結果が増加しないことがあります。この場合,メソッドの呼び出し回数からメソッドの実行を確認できます。
-