Interstage Application Server メッセージ集 |
目次 |
第2部 メッセージラベルのあるメッセージ | > 第5章 メッセージ番号がEJBで始まるメッセージ | > 5.12 EJB1000番台のメッセージ |
EJB: ERROR: EJB1033: Memory shortage occurred on JavaVM: NAME=%s1
EJB: エラー: EJB1033: JavaVM上でメモリ不足が発生しました: NAME=%s1
[可変情報]
%s1:EJBアプリケーション名
[意味]
java.lang.OutOfMemoryErrorが発生しました。以下に考えられる原因を示します。
[システムの処理]
EJBアプリケーションを終了します。
[ユーザの対処]
以下にそれぞれの原因に対する対処を説明します。
[対処]
以下の方法により、アプリケーションが使用するメモリ量に対して最大ヒープサイズが小さくないか、確認してください。
(1)性能監視を使用した確認方法
【採取方法】
詳細は以下のコマンドリファレンスおよび性能監視のマニュアルを参照してください。
- ispmakeenv
- ispstart
- ispreport
【採取できる情報】
JavaVMの最大メモリ使用量
- JavaVMの平均メモリ使用量
(2)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のヒープサイズです
「ejbdstarteb」コマンドによる起動時には、「verbose:gc」を使用した確認方法を行うことができません。ワークユニット起動を行い確認してください。
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発生時の詳細な対応方法については“トラブルシューティング集”の“OutOfMemoryError発生時の対応”を参照してください。
目次 |