JDBCアプリケーション実行中に発生するエラー「java.lang.OutOfMemoryError」の原因と対処について
- JDBCアプリケーション実行中に、"java.lang.OutOfMemoryError"というエラーが発生しました。
原因と対処方法を教えてください。 - メモリ不足の発生が原因です。
Javaでは、不要になったメモリの解放はガベージコレクションで行われます。
しかし、ガベージコレクションは、使われなくなったオブジェクトの使用しているメモリが解放されるだけであり、アプリケーションが必要なメモリ解放としては十分ではありません。そのため、JDBCアプリケーションがメモリ不足になる場合があります。
メモリ不足が発生した場合は、Java実行環境のヒープサイズを拡張するか、アプリケーションから強制的にメモリ解放を行なうSystem.gcメソッドを呼び出してください。
ただし、System.gcメソッドは実行性能に影響するため、使用に当たっては呼び出しのタイミングなどを十分に検討した上で使用してください。
【Java実行環境のヒープサイズ拡張例】
初期サイズを64メガバイト、最大サイズを128メガバイトに設定します。java -Xms64m -Xmx128m <class Name>
製品・サービス区分 | Symfoware | ||||
---|---|---|---|---|---|
製品・サービス情報 |
|
||||
アンサー種別 | 運用/保守 |