Tomcatのエラーログの解決方法とは?

このQ&Aのポイント
  • Tomcatのエラーログによるアクセス不能の原因と解決方法を解説します。
  • Tomcatのエラーログにはスレッドの待機や実行中の例外などが含まれ、アクセス不能の原因になります。
  • エンドポイントの例外やソフトウェアによる接続の中断などがエラーログに記録されます。
回答を見る
  • ベストアンサー

Tomcat のエラーログ

【環境】 Tomcat4.1.31 JDK1.3.1 現在TomcatでJAVAを稼動させています。 本日catalina.outに以下のようなメッセージが 出力され、Tomcatにアクセスできませんでした。 [ERROR] ThreadPool - -すべてのスレッド (75) が現在稼働中で待機しています。maxThreads (75) を増やすか、そのサーブレットのステータスをチェックしてください [ERROR] ThreadPool - -org.apache.tomcat.util.net.TcpWorkerThread@1b2fdf50 を実行中に例外 (java.lang.IllegalStateException) をキャッチしたので、スレッドを終了します [ERROR] PoolTcpEndpoint - -エンドポイント ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=8080] は例外を無視しました: java.net.SocketException: Software caused connection abort <java.net.SocketException: Software caused connection abort>java.net.SocketException: Software caused connection abort Tomcatを再起動したら普段通り8080にアクセスできました。 サーバー管理は初めてなので、どこから調べてよいか わかりません。 どのようなエラーなのでしょうか? 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • katamari
  • ベストアンサー率66% (14/21)
回答No.1

運用・管理とはちょっと違う気もしますが・・・。 わかりやすくいうと、Tomcatで設定している最大アクセス数を超えたことを意味しています。 単純に考えれば、75人が同時にアクセスして、その処理が終わっていない状態です。 もしそんなに負荷がかからない状態で上記エラーが出ているのであれば、アプリケーションの排他処理等に問題があるのだと思われます。 このシステムが本番稼動中なのか、開発中なのかで対処方法は異なります。

AQUARIUS2005
質問者

お礼

回答有難う御座います。 運用・管理とは違いますね... 負荷はそんなにかからない状態ですので アプリケーションを見直してみようと思います。

関連するQ&A

  • 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+Postgresql 起動時のエラー

    以下のようなエラーが発生するのですが どういった原因が考えられるでしょうか? よろしくお願いいたします。 環境 postgresql-7.4.12 tomcat5.0 jdk1.4.2 以下、プログラムログ [FATAL] 2011-02-17 08:25:41 [TP-Processor6] org.postgresql.util.PSQLException: The backend has broken the connection. Possibly the action you have attempted has caused it to close. [WARN ] 2011-02-17 08:25:41 [TP-Processor6] java.lang.RuntimeException: org.postgresql.util.PSQLException: The backend has broken the connection. Possibly the action you have attempted has caused it to close. [FATAL] 2011-02-17 08:25:41 [TP-Processor3] org.postgresql.util.PSQLException: An I/O error has occured while flushing the output - Exception: java.net.SocketException: Broken pipe Stack Trace: java.net.SocketException: Broken pipe at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) at java.net.SocketOutputStream.write(SocketOutputStream.java:136) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:66) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:124) 以下、catalineログ -- [GC 1147257K->973413K(2073856K), 0.1046160 secs] org.postgresql.util.PSQLException: The backend has broken the connection. Possibly the action you have attempted has caused it to close. at org.postgresql.core.PGStream.ReceiveChar(PGStream.java:168) at org.postgresql.core.QueryExecutor.executeV3(QueryExecutor.java:128) at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:101) at org.postgresql.core.QueryExecutor.execute(QueryExecutor.java:43) at org.postgresql.jdbc1.AbstractJdbc1Connection.execSQL(AbstractJdbc1Connection.java:875) at org.postgresql.jdbc1.AbstractJdbc1Connection.setAutoCommit(AbstractJdbc1Connection.java:1266) at org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:266) at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setAutoCommit(PoolingDataSource.java:338)

  • Tomcatプロジェクトが正常に動作しません

    EclipseからTomcatプロジェクトで作成したwebアプリが正常に動作しません。Eclipseの表示とブラウザの表示は、以下の通りです。どのような原因が考えられるでしょうか? <Eclipseの表示> 2008/11/16 19:08:56 org.apache.catalina.core.ApplicationContext log 致命的: Error loading WebappClassLoader delegate: false repositories: /WEB-INF/classes/ ----------> Parent Classloader: org.apache.catalina.loader.StandardClassLoader@17599cc hoge.MyServlet java.lang.ClassNotFoundException: hoge.MyServlet at ・・・(省略)・・・ 致命的: サーブレット mysrv に例外を割り当てます java.lang.ClassNotFoundException: hoge.MyServlet at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1355) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1034) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:757) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:130) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Unknown Source) <ブラウザの表示> type 例外レポート メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 javax.servlet.ServletException: ラッパがサーブレットクラス hoge.MyServlet 又はそれが依存するクラスを見つけることができません org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) java.lang.Thread.run(Unknown Source) 原因 java.lang.ClassNotFoundException: hoge.MyServlet org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1355) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1201) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) java.lang.Thread.run(Unknown Source) 注意 原因のすべてのスタックトレースは、Apache Tomcat/5.5.20のログに記録されています

  • 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)です。 ----------------------------

  • java ネットワークの本について

    こんにちは。 趣味でプログラミングをしているものです。 さっそくですが質問させていただきます。 まずは以下のURLから3ばんめのリンク先を 見ていただきたいのですが... http://www.eonet.ne.jp/~mycabinet 「基礎からわかる TCP/IP Javaネットワークプログラミング」 の第2版の105ページに記載されている、内容をもとに コマンドプロンプトを2つ起動し、 Socket と ServerSocket で 時刻を送信、受信するプログラムを動かしてみたのですが、 要請を受けて時刻を教える側から 例外を発生させて 終了してしまいました。 スタックトレースは次のようなものです。 java.net.SocketException: Software caused connection abort: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) -(1) at java.net.SocketOutputStream.socketWrite(Unknown source) -(2) at java.net.SocketOutputStream.write(Unknown source) -(3) at Netclock.start(Netclock.java:58) at Netclock.main(Netclock.java:83) このうち(1),(2),(3)のSocketOutputStream というのは 「JavaTM Platform, Standard Edition 6 API 仕様」 に載っていなかったのですが、 このAPIには含まれていないクラス、ということでしょうか? (2),(3)のUnknown source についてインターネットでみてみたところ、 デバッグ情報としての行番号などを削除している、というような 記述を見かけたのですが、意味はよくわからないのですが、 APIにこれらのクラス、メソッドはあるということでしょうか? ご存知の方、教えていただけないでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • JAVA TOMCAT

    初心者です。よろしくお願いします。m(_ _)m eclipse3.1環境で、tomcat5.0をしようして、JAVAソースを実行したら、以下のようなエラーが発生し、解決できません。 お手数ですが、よろしくお願いします。 致命的: Error loading WebappClassLoader delegate: false repositories: /WEB-INF/classes/ ----------> Parent Classloader: org.apache.catalina.loader.StandardClassLoader@1fd6bea AddUserServlet java.lang.ClassNotFoundException: AddUserServlet at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1386) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1068) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:791) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:127) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:619) 2011/12/30 20:15:52 org.apache.catalina.core.StandardWrapperValve invoke 致命的: サーブレット adduser に例外を割り当てます java.lang.ClassNotFoundException: AddUserServlet at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1386) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1068) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:791) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:127) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:619)

  • Strutsを使うとSocketException発生

    Tomcat + WinXP + Struts を使っているのですが、 起動時から断続的に java.net.SocketException: Connection reset by peer: connect が発生してしまいます。 症状及び関連事項としましては、 (1)Strutsを使った場合のみ起こる。つまり、Struts のライブラリを配備したフォルダがwebapp下に存在すると、上記例外が発生し、存在しないと発生しない (2)ブラウザを立ち上げて無くても起こる (3)Tomcatはlocalhostで使っているが、PCは社内ネットワーク内 (4)ポートは80と8080番を使ってみたけど、どちらも同じ結果 といった具合です。個人的な推測としては、Struts の入力チェック機能により、httpに対して断続的なリクエストのようなものが発生し、その時にWebコンテナに何らかのエラーが生じているのかと思います。 どなたか、原因および対処法を教えて頂けますか。 ------例外の内容---------- 2003/07/26 11:44:34 org.apache.commons.modeler.Registry loadRegistry 情報: Loading registry information 2003/07/26 11:44:34 (中略) 2003/07/26 11:44:45 org.apache.struts.validator.ValidatorPlugIn initResources 情報: Loading validation rules file from '/WEB-INF/validator-rules.xml' 2003/07/26 11:45:06 org.apache.struts.validator.ValidatorPlugIn initResources 致命的: Connection reset by peer: connect java.net.SocketException: Connection reset by peer: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171) (後略)

    • ベストアンサー
    • 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です。 何か分かることがありましたら、ご教授お願い致します。

  • eclipseからtomcat起動できない

    eclipse から Tomcat を起動すると、 "Could not find the main class. Program will exit!" というエラーダイアログが表示され、 コンソールには、 java.lang.NoClassDefFoundError: org/apache/catalina/startup/Bootstrap Exception in thread "main" とエラーが表示されます。 まったくの初心者でどうしたらよいのか解らず困っています。 どうしたらよいのか教えてください。 (環境) Tomcat 5.5.20 JDK 5.0.9 Eclipse 3.2.1

  • Tomcat高負荷時の設定について

    現在、JMeterを使用してTomcat上で動作するAPに負荷を掛けた際のパフォーマンスを測定しております。 負荷を掛けずにブラウザで処理を実行した際には1秒程度でレスポンスが返却されてくるのですが、 以下の条件で負荷を掛けるとレスポンス速度が段々と遅く(8秒~500秒程度)なって行ってしまいます。 また、かなりの頻度でConnectionタイムアウトが返却されてしまいます。 [負荷条件] スレッド数:1000 Ramp-Up期間:60秒 ループ回数 :無限ループ ※ スレッド数を500くらいにするとConnectionタイムアウトは発生しないのですが、 処理時間はやはりかなり遅くなってしまいます。 最初はJVMのFullGCの頻発が原因かと思い、GCの状況を確認しましたが、 パフォーマンスに影響を与えそうなFullGCは特に発生していませんでした。 [JVM オプション] "-server -Xmx1024m -Xms1024m -XX:MaxPermSize=128m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseTLAB -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:CMSIncrementalDutyCycleMin=0 -XX:CMSIncrementalDutyCycle=10 -XX:MaxTenuringThreshold=0 -XX:SurvivorRatio=256 -XX:+PrintGCDetails -Xloggc:/usr/local/tomcat/logs/gc.txt" 次にTomcatのserver.xmlでの最大thread数がデフォルトの状態だったので、 maxthreadsの値をとりあえず「2000」まで増やしてみたのですが状況は変わらずでした。 [server.xml] <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8123" maxHttpHeaderSize="8192" minProcessors="5" maxProcessors="1000" maxThreads="2000" minSpareThreads="25" maxSpareThreads="1000" enableLookups="false" acceptCount="100" debug="0" connectionTimeout="60000" useURIValidationHack="false" disableUploadTimeout="false" /> また、topを確認してもロードアベレージが高くなっているのが少し気になりますが(5.0~7.0程度を推移)、 Swap領域等は使用されている訳でもありませんでした。 Tomcatの経験もほとんど無いため何がボトルネックとなっているのかが分からずに困っております。 皆さまの経験から、推奨される設定、どこを調査した方が良いか、または参考となるサイト等が御座いましたらご教授願えないでしょうか。 [環境] CentOS release 4.7  メモリ:4G  CPU  :Intel(R) Xeon(R) CPU 2.00GHz X 2 jdk1.5.0_14 Tomcat 5.5