可変情報
%s1:EJBアプリケーション名
意味
java.lang.OutOfMemoryErrorが発生しました。以下に考えられる原因を示します。
JavaVMのヒープメモリが不足しています。
仮想メモリが不足しています。
システムの処理
EJBアプリケーションを終了します。
ユーザの対処
以下にそれぞれの原因に対する対処を説明します。
JavaVMのヒープメモリが不足しています。
[対処]
以下の方法により、アプリケーションが使用するメモリ量に対して最大ヒープサイズが小さくないか、確認してください。
性能監視を使用した確認方法
【採取方法】
詳細は以下のコマンドリファレンスおよび性能監視のマニュアルを参照してください。
ispmakeenv
ispstart
ispreport
【採取できる情報】
JavaVMの最大メモリ使用量
JavaVMの平均メモリ使用量
verbose:gcを使用した確認方法
【採取方法】
WU定義のJava Command Optionに-verbose:gcを設定する。
[Application Program]
Java Command Option=-verbose:gc
以下のファイルに出力されます。
/opt/FJSVejb/var/FJEJBJVMstderrXXX
【出力例】
[GC 1217K->722K(2048K), 0.0040460 secs]
( )のなかの値がJavaVMのヒープサイズです
JavaVMのメモリ量が小さい場合、以下のようにEJBアプリケーションの多重度を上げるか、JavaVMのメモリ量を変更する必要があります。
EJBアプリケーションの多重度を上げる方法
ワークユニット定義の[Application Program]セクションのConcurrencyの値を変更する。
例)Concurrency: 2
JavaVMのメモリ量を変更する方法
ワークユニット定義の[Application Program]セクションのJava Command Optionの値にJavaのオプション「-Xmx」を設定する。
例)Java Command Option: -Xmx64m
上記に該当しない場合、以下を確認してください。
Session Beanを呼び出す部分でremoveメソッドの発行忘れがないか
EJBアプリケーションで不当にメモリを獲得していないか
Entity Beanの初期起動インスタンス数に、不要に大きな値を設定していないか
上記に該当する場合は、以下の対処を行った後、再度EJBアプリケーションを起動してください。
クライアントアプリケーションまたはEJBアプリケーションを修正する。
EJBアプリケーションの定義情報を修正する。
仮想メモリが不足しています。
[対処]
OSの機能を使用して仮想メモリが不足していないか確認してください。不足している場合には、しばらくしてから再度処理を実行してください。本メッセージが頻繁に出力される場合は、“チューニングガイド”を参考に、Interstageを運用するために必要となるメモリ量を再見積りし、メモリが十分に用意されているか確認してください。
Interstageの必要とするメモリ量に対して、メモリが十分に用意されている場合には、他のアプリケーションの使用メモリ量が不足していることが考えられます。同一マシン上で運用している他のアプリケーションについても再見積りを実施し、メモリ量が適当か調査してください。
再見積りの結果、メモリ量が不足していることが確認された場合には、システム管理者に連絡してください。システム管理者は、メインメモリの増設またはページファイルの拡張を行ってください。
また、java.lang.OutOfMemoryError発生時の詳細な対応方法については“チューニングガイド”の“JDK/JREのチューニング”-“異常発生時の原因振り分け”-“java.lang.OutOfMemoryErrorがスローされた場合”を参照してください。