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

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

2.1.11.1 予兆監視警告メッセージ (Javaヒープ領域)

 JavaVMのメモリ割り当てプール(注)およびPerm領域を監視して、Javaヒープ領域不足の危険性を警告メッセージ(EXTP4368)で通知します。

注) Javaヒープ領域は、メモリ割り当てプール(New世代領域とOld世代領域)およびPerm世代領域に大別されます。以下の説明で、単に「ヒープ領域」と記載している場合は、メモリ割り当てプールを指します。Javaヒープの構造については、“チューニングガイド”の“JDK/JREのチューニング”の“基礎知識”を参照してください。

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

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

詳細メッセージ

警告の意味

発生条件 (注)

There are possibilities of OutOfMemoryError because of the lack of the memory: TIME={0} SIZE={1}
TIME: 発生時刻
SIZE: 警告発生時に不足していたヒープサイズ(バイト単位)

ヒープ領域不足のため、OutOfMemoryError発生する危険性があります。

ガーベジコレクション直後のヒープ使用率が95%より大きい場合。
または、
ガーベジコレクション直後のヒープ使用率が90%より大きく、かつ、前回のガーベジコレクション発生時よりヒープ使用サイズが増加している状態が3回以上続いた場合。

There are possibilities of OutOfMemoryError because of the lack of the Perm region: TIME={0} SIZE={1}
TIME: 発生時刻
SIZE: 警告発生時に不足していたPerm領域サイズ(バイト単位)

Perm領域不足のため、OutOfMemoryErrorが発生する危険性があります。

Perm領域の使用量が90%より大きい場合。

OutOfMemoryError warning is occured because the Perm region is exhausted: TIME={0} SIZE={1}
TIME: 発生時刻
SIZE: 急増したPerm領域サイズ(バイト単位)

Perm領域の使用量が急増しているため、OutOfMemoryErrorが発生する危険性があります。

前回の測定からのPerm領域の使用量の増加が、Perm領域全体の1割より大きく、かつ、次も同じ割合で増えると仮定したときのPerm領域の使用率が、90%より大きい場合。

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

◆警告メッセージ(Javaヒープ領域不足)の原因と対処

 EXTP4368(Javaヒープ領域不足の警告メッセージ)が出力される原因は、JavaVMによってあらかじめ予約されたヒープ領域またはPerm領域の不足です。予約するヒープ領域、Perm領域のサイズが不適切な場合や、Javaアプリケーションがメモリリークを起こしている可能性があります。

 警告メッセージが出力された場合、そのまま業務を継続するとメモリ不足やレスポンス低下などの問題が発生する可能性があります。これらの問題を解決するために警告メッセージに記載されている不足リソースの情報を元にチューニングを実施してください。
 警告を回避するためには、現在の上限値を20%増加させて運用を再開します。それでも警告が出力された場合にはさらに20%増加させ、警告が出力されなくなるまで繰り返しチューニング実施します。チューニングを繰り返して警告メッセージが出力されない状態とすることにより、安定稼動するシステムを構築することができます。ヒープ領域サイズとPerm領域サイズの上限値を増加しても回避できない場合は、Javaアプリケーションが大量にメモリを消費したり、メモリリークを起こすことがないか見直しを行ってください。

 JavaVMのヒープ領域およびPerm領域をチューニングする場合、Interstage管理コンソールのワークユニット設定でJavaVMオプションに、ヒープ領域およびPerm領域の上限値を設定するオプションを記載します。
 JavaVMのヒープ領域の上限値を設定するためには、-Xmxオプションを使用します。
  使用例)JavaVMのヒープ領域の上限値を256MByteに設定する場合
   -Xmx256m
 また、JavaVMのPerm領域の上限値を設定するためには、-XX:MaxPermSizeオプションを使用します。
  使用例)JavaVMのPerm領域の上限値を128MByteに設定する場合
   -XX:MaxPermSize=128m
 なお、チューニングは開発フェーズ(システムテスト)で実施し、問題を解決してください。
 また、チューニング方法には、上記に挙げたヒープ領域またはPerm領域を増加する方法の他に、IJServerのプロセス多重度を増加することにより問題を解決することもできます。


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

Copyright 2007 FUJITSU LIMITED