Cヒープが不足した場合,次の順序でメッセージ出力およびダンプ出力,またはcoreダンプの生成が実行されます。
それぞれの出力形式を次に示します。
Cヒープ不足を示すメッセージログの出力形式を次に示します。この形式は,エラーリポートファイルと標準出力で共通です。
Exception in thread <ThreadName> java.lang.OutOfMemoryError:requested <n> bytes [ for <message>]. |
Exception in thread <ThreadName> java.lang.OutOfMemoryError: requested <n> bytes [for <message>]. |
Exception in thread <ThreadName> java.lang.OutOfMemoryError: requested <n> bytes [for <message>]. |
このようなメッセージが出力された場合は,Cヒープを減らすなど,適切な対策をしてください。
出力項目について次に示します。
表5-26 Cヒープが不足した場合のメッセージログの出力項目
出力項目 | 説明 |
---|---|
ThreadName | Thread#getName()メソッドで取り出せるスレッド名称が出力されます。 |
n | メモリ確保要求サイズが出力されます。 |
message | 保守員による調査に必要な内部メッセージが出力されます。出力されない場合もあります。 |
Javaヒープ情報 | Javaヒープの使用状況が出力されます。 |
スタックトレース | メモリ不足の発生したスレッドがJava コードを実行しているスレッドである場合に,スタックトレースが出力されます。 コンパイル処理のようなJavaVMの内部処理を実行するスレッドでメモリ不足が発生した場合には出力されません。 |
Cヒープ不足を示すメッセージログが出力されている間にさらにメモリ不足が発生した場合は,処理の続行ができません。この場合は,次の形式の簡易メッセージが標準出力に出力されます。
java.lang.OutOfMemoryError:requested <n> bytes for <message> |
出力項目について次に示します。
表5-27 メモリ不足が発生した場合の簡易メッセージの出力項目
出力項目 | 説明 |
---|---|
n | メモリ確保要求サイズが出力されます。 |
message | 保守員による調査に必要な内部メッセージが出力されます。 |
簡易メッセージの出力後は,ワトソンログが起動され,ダンプ出力が実行されます。ただし,ワトソンログが正常に出力できない場合がありますので,標準出力に出力される処理結果のメッセージを確認してください。
次のメッセージは,ワトソンログの起動に失敗した場合に出力されます。
WatosonLog process generated.But couldn't generate dump file,because of resource shortage. |
次のメッセージは,ワトソンログの起動後,ダンプ出力に失敗した場合に出力されます。
Couldn't generate dump file,because of resource shortage. |
これらの処理に成功した場合は,次に示すメッセージが出力されます。ただし,この場合もワトソンログが正常にダンプ出力しない場合があります。このメッセージが出力された場合も,実際にダンプが出力されているかどうかを確認してください。
Although Dr.Watson process finished successfully,dump file isn't always generated. |
簡易メッセージの出力処理中にさらにメモリ不足が発生した場合,メッセージおよびエラーログファイルの出力処理を中止して,coreダンプを生成します。coreダンプが生成されると,次の形式のメッセージが標準出力に出力されます。
Can't create logs because of memory shortage. |