システムログに「Forcing GC due to low memory... Restarting due to low free memory... 」が出力され、サービスが停止しました。原因と対策を教えてください。

 
下記のメッセージは、JavaVMが利用するヒープメモリの空き領域が確保出来なくなり、Resinが停止した際に出力されます。
------------------------------------- 
Forcing GC due to low memory. XXXXXXX free bytes. 
Restarting due to low free memory. XXXXXXX free bytes 
-------------------------------------

Resinは、JavaVMが起動時に確保したメモリサイズ内にあるヒープ領域の空き領域が少なくなった場合に強制的に終了致します。
これはResinの仕様です。
また、強制終了するためのしきい値となる値を変更することはできません。
通常、JavaVMは上記メッセージが出力する前にGCやFULL GCを実行し、不要なJavaオブジェクトを解放してJavaVMのヒープ領域を確保しますが、利用されていない 不要なJavaオブジェクト自体が少ない状態、もしくは永続的に利用されているオブジェクトが多い場合だとGCの効果が少なくなります。
このような状態のまま運用を続けて行った場合には、今回のようにJavaのメモリ領域が足りなくなり、Resinが停止してしまう場合がございます。
本事象を回避するためには、まずJavaVMの起動オプションでマシンスペックに合う範囲で最大ヒープメモリサイズ(-xmx)を引き上げてください。 
ただし、サービスを無停止状態で運用させていった場合はいずれ空きヒープ領域が少なくなってしまうため、定期的にサービスを再起動させ、永続的に利用されている オブジェクトを解放させる必要がございます。


-- 対象 ------------------------------------------------------------------------
iWP/Webシステム構築基盤/WebPlatform/AppFramework
--------------------------------------------------------------------------------



FAQID:261
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
Powered by Zendesk