Interstage Application Server 運用ガイド(基本編)
目次 索引 前ページ次ページ

第2章 アプリケーションの運用> 2.1 ワークユニットの設計> 2.1.11 予兆監視

2.1.11.2 予兆監視警告メッセージ (ガーベジコレクション)

 JavaVMのガーベジコレクション処理の影響で業務レスポンス低下が発生する可能性を検出し、警告メッセージ(EXTP4368)で通知します。

 JavaVMのガーベジコレクションの影響を通知する警告メッセージ(EXTP4368)には以下の5種類があり、EXTP4368の詳細メッセージで示されます。この他の詳細メッセージは、“予兆監視警告メッセージ (Javaヒープ領域)”を参照してください。

 警告メッセージは、ガーベジコレクション処理による業務レスポンス低下の危険性を通知するもので、JavaVMの動作異常を示すものではありません。また、警告が出力された状態で業務を継続したときに、Javaアプリケーションの実行に支障が発生すると一概に言えませんが、警告メッセージが出力されない状態にすることにより、安定稼動するシステムを構築することができます。

■ガーベジコレクション処理時間に関する警告メッセージ

 メッセージは、EXTP4368の詳細メッセージで示されます。また、以下の基準で出力されます。

詳細メッセージ

警告の意味 (注)

発生条件

It takes long time to do the garbage collections many times: TIME={0} AVERAGE={1}
TIME: 発生時刻
AVERAGE: 過去3回の平均ガーベジコレクション時間(ミリ秒単位)

ガーベジコレクションに長い時間かかる状態が続いています。

過去3回のガーベジコレクション時間の平均値が5秒より長い場合。

注)
ガーベジコレクションは、Full GCの情報を使用しています。

 ガーベジコレクション処理中は、メッセージに記載された平均ガーベジコレクション時間のあいだ、アプリケーションが停止する場合があります。メッセージが出力された場合、レスポンス低下などの問題が発生する可能性があります。

◆警告メッセージ(ガーベジコレクション処理時間)の原因と対処

 EXTP4368(ガーベジコレクション処理時間に関する警告メッセージ)が出力される原因として以下が考えられます。

 アプリケーションのレスポンスに問題がある場合は、これらの要因を確認してください。

 ヒープ領域のサイズ指定を小さくするチューニングは、十分な検証が必要です。Javaアプリケーションがヒープ領域を多く消費するプログラムの場合、ヒープ領域のサイズ指定を小さくするとOufOfMemoryErrorが発生することも考えられます。

■ガーベジコレクション間隔に関する警告メッセージ

 ガーベジコレクション間隔に関する4種類のメッセージは、EXTP4368の詳細メッセージで示されます。いずれも、ガーベジコレクションが短い間隔で連続して発生した場合に、以下の基準で出力されます。

詳細メッセージ

警告の意味 (注1)

発生条件 (注3)

Inefficent garbage collections are run with the short intervals: TIME={0} WEIGHT={1}
TIME: 発生時刻
WEIGHT: ガーベジコレクション直前の旧世代の使用率(%単位)

非効率なガーベジコレクションが短い間隔で発生しています。(注2)

過去3回のガーベジコレクション間隔時間が20秒より短い場合、かつ、ガーベジコレクション直前のOld世代領域の使用率が65%よりも小さい場合。

The garbage collections are run with the short intervals because of the lack of the memory: TIME={0} SIZE={1}
TIME: 発生時刻
SIZE: 警告発生時に不足していたヒープサイズ(バイト単位)

ヒープ領域不足のため、ガーベジコレクションが短い間隔で発生しています。

過去3回のガーベジコレクション間隔時間が20秒より短い場合、かつ、ガーベジコレクション直後のヒープ使用率が65%より大きい場合。

System.gc() are run with the short intervals: TIME={0} INTERVAL={1}
TIME: 発生時刻
INTERVAL: System.gcのインターバル時間(ミリ秒単位)

System.gcが短い間隔で発生しています。

過去3回のガーベジコレクション間隔時間が20秒より短い場合、かつ、System.gcによって発生したGCの頻度が高い場合。

The garbage collections are run with the short intervals: TIME={0} INTERVAL={1}
TIME: 発生時刻
INTERVAL:ガーベジコレクションのインタバール時間(ミリ秒単位)

ガーベジコレクションが短い間隔で発生しています。

過去3回のガーベジコレクション間隔時間が20秒より短い場合。

注1)
ガーベジコレクションは、Full GCの情報を使用しています。
注2)
IJServerワークユニットでは、コネクタとServletコンテナ間の通信にSSLを使用する設定になっている場合、ワークユニット起動時に、このメッセージを含んだメッセージが出力される場合があります。この場合、起動後にInterstage管理コンソールのモニタ画面でJavaVMのヒープ情報およびJavaVMのPerm領域情報に問題がなければ、メッセージを無視してください。
注3)
発生条件を満たした場合でも、ガーベジコレクションの処理時間が短い場合は、メッセージの出力を行わない場合があります。

 頻繁なガーベジコレクション処理の実行は、アプリケーションのレスポンス低下などの問題が発生する可能性があります。

◆警告メッセージ(ガーベジコレクション間隔)の原因と対処

 「Inefficent garbage collections are run with the short intervals」が出力された場合、ヒープ領域の空きがあるにもかかわらず、ガーベジコレクション処理(非効率なガーベジコレクション)が発生している可能性があります。原因として以下が考えられます。

 アプリケーションのレスポンスに問題がある場合は、これらの要因(Javaヒープ領域に関するチューニングオプションや、アプリケーションからのSystem.gc()、Runtime.gc()の呼び出し)に問題がないか確認してください。

 「The garbage collections are run with the short intervals because of the lack of the memory」が出力された場合、ヒープ領域の不足が考えられます。ヒープ領域の不足を回避するには、現在の上限値を20%増加させて運用を再開します。それでも警告が出力された場合にはさらに20%増加させ、警告が出力されなくなるまで繰り返しチューニング実施します。ヒープ領域サイズの上限値を増加しても警告が出力される場合、Javaアプリケーションが短時間に大量のメモリを消費している可能性があります。

 「System.gc() are run with the short intervals」が出力された場合、アプリケーションがSystem.gc()、Runtime.gc()を短い間隔で呼び出しています。頻繁なガーベジコレクション実行が、アプリケーションのレスポンスに影響している場合は、System.gc()、Runtime.gc()が必要かアプリケーションの見直しを行ってください。

 上記の3つのメッセージの発生条件以外で、ガーベジコレクション処理が短い間隔で発生した場合は、「The garbage collections are run with the short intervals」のメッセージが出力されます。


目次 索引 前ページ次ページ

Copyright 2007 FUJITSU LIMITED