• 締切済み

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回ほどコンパイル→デバッグを繰り返したことくらいでしょうか・・・。 原因と対策をご教示頂けたら嬉しく思います。 よろしくお願いいたします。

  • Java
  • 回答数1
  • ありがとう数1

みんなの回答

回答No.1

Tomcat 起動時ではありませんがJSPが大きくなった場合にそのような症状になったことがあります.とりあえず JVM のメモリを増加させてみて様子をみてはいかがでしょう.Tomcat3.x の場合は確か環境変数 TOMCAT_OPTS に -Xmx128M を設定してTomcatを起動させてみてください.参考までにTomcat4.xでは環境変数CATALINA_OPTSだと思います.またサーバが Windowsだとレジストリに設定する必要があったと思います。 初期状態だと64Mだったと思うので先ほどのオプションでに128Mに設定するわけです。

pythian
質問者

お礼

Tomcatの標準ヒープサイズは64MBだということなのですが・・・実はマシンのメモリが64MBなんです。半年間使えていて突然死してしまったので、何か他に要因がありそうですね。もう少し探ってみたいと思います。お返事ありがとうございました。参考にさせていただきます。

関連するQ&A

  • tomcatのメモリ限界?エラー

    サーバー環境がwin2000+apach+tomcatで、jspを実行させています。 しかしある処理をさせると下のようなエラーが出てしまい、もう一度tomcatを起動し直さなければ、正常に動きません。 サーバーのメモリーは1GBも積んでいるのですが・・・ tomcat側でのメモリーの限界なのでしょうか? 回答よろしくお願いします。 Internal Servlet Error: javax.servlet.ServletException: at org.apache.jasper.servlet.JspServlet.service(JspServlet.java, Compiled Code) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405) at org.apache.tomcat.core.Handler.service(Handler.java:287) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.service.connector.Ajp12ConnectionHandler.processConnection(Ajp12ConnectionHandler.java:166) ・ ・ ・ Root cause: java.lang.OutOfMemoryError: at java.lang.String.(String.java, Compiled Code) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:282) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:429) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java, Compiled Code) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405) at org.apache.tomcat.core.Handler.service(Handler.java:287) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797) ・ ・ ・

    • ベストアンサー
    • Java
  • Tomcat起動時のエラー

    Tomcatを起動すると以下のエラーがでます。 org.apache.commons.digester.Digester endElement 致命的: End event threw exception java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.commons.beanutils.PropertyUtils.setSimpleProperty(PropertyUtils.java:1789) at org.apache.commons.beanutils.PropertyUtils.setNestedProperty(PropertyUtils.java:1684) at org.apache.commons.beanutils.PropertyUtils.setProperty(PropertyUtils.java:1713) at org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:1019) at org.apache.commons.digester.BeanPropertySetterRule.end(BeanPropertySetterRule.java:245) at org.apache.commons.digester.Digester.endElement(Digester.java:1064) : : at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:425) Caused by: java.lang.InstantiationException: javax.servlet.ServletContext at java.lang.Class.newInstance0(Class.java:293) at java.lang.Class.newInstance(Class.java:261) at org.apache.velocity.tools.view.ViewToolInfo.setClassname(ViewToolInfo.java:84) 現在、Strutsとvelocityを導入しています。 エラーはでますが動作には支障がありません。 何が原因なのでしょうか。。 誰か原因がわかる方おられませんか。 ご教授、宜しくお願い致します。

  • Servlet と データベースの超初級

    今、「やさしいJAVA活用編」という本でデーターベースの基本を勉強しています。 Tomcat3.2.3でローカルサーバーとしてServletでAccessで作った3列2行の表をデータベースとしてアクセスしようとしています。 設定の仕方は本に書いてありましたので、そのとおりにしました。(ODBCドライバーを設定して、Accessの表を関連付けて、、)。 うまく行かなかったので、使用するServletは雑誌に付いていた「Sampleファイル」を使用してみましたが、やはり駄目でした。 エラーとして以下の通りです。 (なにせ間違いが多い本で、ホームページの誤植表を見ても、間違っている場合があったりと少々、困惑している状態です。) Error: 500 Location: /YJKpractice/06/servlet/Sample1 Internal Servlet Error: java.lang.ClassCastException: Sample1 at org.apache.tomcat.core.ServletWrapper.loadServlet(ServletWrapper.java:268) at org.apache.tomcat.core.ServletWrapper.init(ServletWrapper.java:289) at org.apache.tomcat.core.Handler.service(Handler.java:254) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758) at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213) at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501) at java.lang.Thread.run(Thread.java:536)

    • ベストアンサー
    • Java
  • tomcat3.2.3

    tomcat4.0.1をいれていたのですが、 他のものとの互換性の問題があり、 tomcat3.2.3をいれました。 そうすると、以下のエラーで tomcatが実行できません。 FATAL:java.net.BindException: java.net.BindException at java.net.PlainSocketImp1.socketBind(Native Method) at java.net.PlainSocketImp1.bind(PlainSocketImp1.java:452) at java.net.ServerSocket.<init>(Server\Socket.java:170) at java.net.ServerSocket.<init>(ServerSocket.java:121) at org.apache.tomcat.net. DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:97) at org.apache.tomat.service.PoolTcpEndpoint.startEndpoint(PoolTcpEndpoint.java:239) at org.apache.tomcat.service.PoolTcpConnector.start(PoolTcpConnector.java:188) at org.apache.tomcat.core.ContextManager.start(Conte at org.apache.tomcat.startup.Tomcat.execute(Tomcat.j at org.apache.tomcat.startup.Tomcat.main(Tomcat.java なにか、はずしていそうなことがありましたらおしえてください。

  • tomcatとapacheの連携

    tomcat4.0.2とapache1.3.26でwindows2000で連携させようとして↓ここを参考にインストール、設定しました。 http://www5b.biglobe.ne.jp/~y-tomy/tomcat/fig_include.html しかし、examples/servlet/はサンプル全て表示されるのですが、examples/jsp/はエラーが出て表示されません。どなたか原因がわかるかた教えてください。 エラーの内容 Apache Tomcat/4.0.2 - HTTP Status 500 - Internal Server Error javax.servlet.ServletException: サーブレット jsp のServlet.init()が例外を投げました at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:935) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:653) root cause java.lang.NoSuchMethodError: javax.servlet.ServletContext.getResourcePaths(Ljava/lang/String;)Ljava/util/Set; (エラーの内容長いため途中省略)

    • ベストアンサー
    • Java
  • Apache1.3.19+Tomcat3.2.1+PostgreSQL+VineLinuxを使用してます。

    以上のような環境でサーブレットとデータベースを扱おうとしています。 (TomcatはApacheにアドオンする形) 問題は、サーブレットでデータベースにアクセスしようとすると 以下のようなエラーメッセージが出力されます。 Error:500 Internal server Error Exception in: R( /myservlet + /servlet/Pgimage + null) - java.lang.NullPointerException at java.lang.ClassLoader.resolveClass0(Native Method) at java.lang.ClassLoader.resolveClass(ClassLoader.java:588) at org.apache.tomcat.loader.AdaptiveClassLoader.loadClass(AdaptiveClassLoader.java:430) at org.apache.tomcat.loader.AdaptiveServletLoader.loadClass(AdaptiveServletLoader.java:174) at org.apache.tomcat.core.ServletWrapper.loadServlet(ServletWrapper.java:265) at org.apache.tomcat.core.ServletWrapper.init(ServletWrapper.java:289) at org.apache.tomcat.core.Handler.service(Handler.java:254) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743 以上のような長いエラーが出てしまいます。 これは、サーバーの設定がいけないのでしょうか、 またはサーブレットがいけないのでしょうか?

  • EclipseからTomcatを起動できない

    OS: Windows XP ServicePack2 Java: 1.4.2_06 Tomcat: 4.1.31 Eclipse: 2.1.2 Sysdeo Tomcat Plug-In: 2.2.1 を使用しております。 EclipseからTomcatを起動しようとすると以下のエラーが出ます。 Catalina.start: LifecycleException: 以前のエラーのためにコンテキストの起動が失敗しました LifecycleException: 以前のエラーのためにコンテキストの起動が失敗しました at org.apache.catalina.core.StandardContext.start(StandardContext.java:3578)        ・        ・        ・ at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:156) サービス Tomcat-Standalone を停止します Catalina.stop: LifecycleException: Coyoteコネクタは起動されていません LifecycleException: Coyoteコネクタは起動されていません スタートメニューからTomcatを起動すると上記のエラーは出ません。 この原因として何が考えられるでしょうか?

  • Tomcatがサービス起動しない

    Servlet,JSPでシステムを構築しています。 Tomcatをインストールしたところ,なぜか%CATALINA_HOME%\bin\startup.batからでないと起動しません。管理ツールのサービスから起動しようとすると「サービス起動中にエラーが発生しました」と出て起動ができません。 開発用クライアントやサーバではそのような問題は出ていないのですが,本稼動用のサーバでのみそういった症状がでます。原因が良くわからずに困っています。 ------------------------- JAVA SDK 1.4.2 Tomcat 5.0.19 OS:Windows2000 Server Apache 2.0.49 JAVA_HOME=C:\j2sdk1.4.2 CATALINA_HOME=C:\Progra~1\Apache~1\Tomcat~1.0 (C:\Program Files\Apache Software Foundation\Tomcat 5.0)です。 ----------------------------

  • Tomcatでエラー

    以下のようなエラーが発生してしまいます。Strutsをやっているのですが、考えられる問題はどんなことですか?ご教授ください。 Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception javax.servlet.ServletException: サーブレットの実行により例外を投げました at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)      略 root cause java.lang.NoClassDefFoundError: java/lang/CharSequence at form.QuestionForm.validate・・・・。

    • ベストアンサー
    • Java
  • Tomcatは2、3日に1回再起動が必要なのでしょうか?

    こんにちは。 現在Servlet、JSP、HTMLを用いて、webアプリケーションを作成しています。 トップページがHTMLでHTML→Servlet→JSPのように処理が流れます。Tomcatを起動仕立て~1日位は問題なく動作するのですが、Tomcatを起動したまま2,3日経つとトップページのHTMLを開くと、下記のエラーが発生しました。 --------------------------------------------------- エラー内容: java.lang.IllegalStateException: Can't happen - classname is null, who added this ? --------------------------------------------------- このエラーに対して、Tomcatの再起動をすると、エラーも表示されなくなり、通常通り動作しました。 そこでわからないのですが、Tomcatではwebアプリケーションを継続的に運用するには、2、3日に1回はTomcatの再起動をしないといけないのでしょうか? それともserver.xmlの設定の問題なのでしょうか?server.xmlの中身を見たのですが、それらしきものを見つける事ができませんでした。 ちなみにTomcatのバージョンは3.2.4で、RedHatLinux7.2、JDK1.4.0です。 何か分かることがありましたら、ご教授お願い致します。

専門家に質問してみよう