VPSでTomcatWebアプリを使用していますが、Tomcatが時々(月に1回程度)クラッシュし、catalina.outで次のエラーが発生します。
Java HotSpot(TM)64ビットサーバーVM警告:例外java.lang.OutOfMemoryErrorが発生し、シグナルSIGTERMをハンドラーにディスパッチしました-VMを強制的に終了する必要がある場合があります。
これが私の構成に関するいくつかの詳細です:
VPS:debian-5.0-x86_64
RAM:2.5 GB、
仮想プロセッサ:8
HDD:60gb hdd-70%無料
Tomcat 7.0
javaバージョン:
java version "1.6.0_18" OpenJDK Runtime Environment (IcedTea6 1.8.13) (6b18-1.8.13-0+squeeze1) OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)
Javaパラメータ:-Xms512m -Xmx1024m
そのサーバーにはApache-PHPもあります。
Muninを使用してサーバーの負荷を監視していますが、メモリとCPUの使用率は常に安定しており、クラッシュする前に増加は見られませんでした。
また、java.lang.Runtimeクラスを介してJavaメモリ使用量をログに記録しています。これは、jvmが常にmax200Mbメモリを使用し、クラッシュする前に増加がなかったことを示しています。クラッシュする前の最後のログは40秒前で、その時間使用メモリは152Mbでした。
私のWebアプリは、さまざまなパブリックAPIからデータを収集する6〜7個のスレッドも実行します。これらのスレッドは、Tomcatの起動時に開始され、常に定期的なスリープで実行されます。
クラッシュする理由を教えてください。どうすれば理由を見つけることができますか?