- 締切済み
Tomcatが突如起動しなく・・・。
Linux2.4 + J2sdk1.3.1 + Tomcat3.3.1の組み合わせで、Servletの開発をしていたのですが、突如Servletの応答が返ってこなくなりました。普通にdoGetでHTMLを表示はできるのですが、XSLTなどを走らせると5分以上たっても応答がありません。 不審に思い、サーバを再起動してTomcatを立ち上げようとしたところ、豪快なエラーが・・・。 2003-02-04 20:53:14 - SessionIdGenerator: Opening /dev/random EmbededTomcat: exception initializing ContextManager java.lang.OutOfMemoryError at (以下32行省略) Guessed home=/usr/local/jakarta-tomcat-3.3.1 Exception: java.lang.reflect.InvocationTargetException java.lang.reflect.InvocationTargetException: org.apache.tomcat.core.TomcatException: EmbededTomcat.initContextManager at (22行省略) 察するに、JVMのメモリが足りないということなんでしょうが、何故突然こうなったかが皆目検討がつきません。いままで半年以上普通に使えていたもので・・・。 心当たりは、いままでServletの開発のためにサーバを動かしっぱなしで500回ほどコンパイル→デバッグを繰り返したことくらいでしょうか・・・。 原因と対策をご教示頂けたら嬉しく思います。 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- SpiralGalaxy
- ベストアンサー率39% (649/1653)
Tomcat 起動時ではありませんがJSPが大きくなった場合にそのような症状になったことがあります.とりあえず JVM のメモリを増加させてみて様子をみてはいかがでしょう.Tomcat3.x の場合は確か環境変数 TOMCAT_OPTS に -Xmx128M を設定してTomcatを起動させてみてください.参考までにTomcat4.xでは環境変数CATALINA_OPTSだと思います.またサーバが Windowsだとレジストリに設定する必要があったと思います。 初期状態だと64Mだったと思うので先ほどのオプションでに128Mに設定するわけです。
お礼
Tomcatの標準ヒープサイズは64MBだということなのですが・・・実はマシンのメモリが64MBなんです。半年間使えていて突然死してしまったので、何か他に要因がありそうですね。もう少し探ってみたいと思います。お返事ありがとうございました。参考にさせていただきます。