Announcement

Collapse
No announcement yet.

Tomcat, JK-Connector Problem

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Tomcat, JK-Connector Problem

    Hallo,

    ich habe ein Problem mit einer Tomcat 4.1.31 Umgebung unter Windows Server 2000 SP4 und JDK 1.4.2_12. Im stderr.log File steht dazu:

    07.06.2006 14:22:08 org.apache.tomcat.util.threads.ThreadPool$ControlR unnable run
    SCHWERWIEGEND: Caught exception (java.lang.OutOfMemoryError: unable to create new native thread) executing org.apache.jk.common.SocketAcceptor@7ea52a, terminating thread

    Im Anschluss daran ist der gesamte Tomcat Server nicht mehr erreichbar und muss neu gestartet werden. Innerhalb des Tomcats wird ein kommerzielles Portalprodukt ausgeführt (die Portlets laufen auf einem separaten Server). Der Tomcat ist an einen Apache2 Server (Reverse Proxy) via mod_jk angebunden.

    In der server.xml ist folgendes konfiguriert:

    <Connector className="org.apache.coyote.tomcat4.CoyoteConnect or"
    port="8009"
    minProcessors="25"
    maxProcessors="110"
    enableLookups="false"
    redirectPort="443"
    acceptCount="500"
    debug="0"
    connectionTimeout="1500"
    useURIValidationHack="false"
    protocolHandlerClassName="org.apache.jk.server.JkC oyoteHandler" />

    Mir fehlt derzeit der Ansatz, wo ich nach dem Problem suchen kann. Auf den Quellcode des Portalproduktes habe ich keinen Zugriff. Aber lässt sich das Problem vielleicht konfigurativ lösen? Ich würde mich freuen, wenn mir jemand einen Tip geben könnte... Danke.

    Gruß,
    Andreas

  • #2
    Hallo Andreas,

    das Problem würde ich hier nicht beim Connector suchen sondern generell beim Speicherverbrauch in der VM. Wie sind deine Startparameter vom Tomact und wie sieht deine Maschine (Speicher) aus?

    So ein ähnliches Problem gibt es auch wenn sehr viele Threads im Spiel sind. Startest Du die vm im Server - Modus? Wie viele Threads sind am laufen, wenn der oom kommt?

    lg Dietma

    Comment


    • #3
      Hallo Dietmar,

      der Tomcat wird als Windows Service ausgeführt. Die Startparameter für den Tomcat sind in der Windows Registry gespeichert. Im Anhang habe ich den Auszug aus der Registry beigefügt. Der Tomcat läuft im Server-Modus. Zu der Threadanzahl kann ich momentan nichts sagen. Ich reiche diese Info aber nach, wenn der Server erneut abstürzt... (> 200)

      Der Server ist ein Intel Xeon 2,8 GHz (HT) mit 4GB RAM.

      Gruß,
      Andreas

      ------------ schnipp --------------

      Windows Registry Editor Version 5.00

      [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Apache Tomcat 4.1\Parameters]
      "JVM Library"="C:\\j2sdk\\jre\\bin\\server\\jvm.dll"
      "JVM Option Count"=dword:0000000d
      "JVM Option Number 0"="-Djava.class.path=C:\\Program Files\\Apache Group\\Tomcat 4.1\\bin\\bootstrap.jar;"
      "JVM Option Number 1"="-Dcatalina.home=C:\\Program Files\\Apache Group\\Tomcat 4.1"
      "JVM Option Number 2"="-Djava.endorsed.dirs=C:\\Program Files\\Apache Group\\Tomcat 4.1\\common\\endorsed"
      "JVM Option Number 3"="-Dsun.io.useCanonCaches=false"
      "Start Class"="org.apache.catalina.startup.BootstrapServi ce"
      "Start Method"="main"
      "Start Param Count"=dword:00000001
      "Start Param Number 0"="start"
      "Stop Class"="org.apache.catalina.startup.BootstrapServi ce"
      "Stop Method"="main"
      "Stop Param Count"=dword:00000001
      "Stop Param Number 0"="stop"
      "System.out File"="C:\\Program Files\\Apache Group\\Tomcat 4.1\\logs\\stdout.log"
      "System.err File"="C:\\Program Files\\Apache Group\\Tomcat 4.1\\logs\\stderr.log"
      "JVM Option Number 4"="-server"
      "JVM Option Number 5"="-Xms1024m"
      "JVM Option Number 6"="-Xmx1256m"
      "JVM Option Number 7"="-Xloggc:C:\\Program Files\\Apache Group\\Tomcat 4.1\\logs\\gc_b2bprod13.log"
      "JVM Option Number 8"="-verbose:gc"
      "JVM Option Number 9"="-XX:+PrintGCDetails"
      "JVM Option Number 10"="-XX:+PrintGCTimeStamps"
      "JVM Option Number 11"="-XrunpiAgent:server=enabled"
      "JVM Option Number 12"="-XX:MaxPermSize=128m"

      &#10

      Comment


      • #4
        Hierbei handle es sich um ein Problem, das vermutlich nur mit dem
        Tomcat 5.5.17 und den APR Connectoren langfristig gelöst werden
        kann. Damit ist die Anzahl der IO Pointer nicht mehr mit der Anzahl
        der Worker Threads gekoppelt. Vermutlich hat aber eine Deiner
        Anwendung ein erhebliches Speicherloch :-(
        Pete

        Comment

        Working...
        X