Tomcat "verabschiedet" sich leise (und das regelmäßig)

  • Hallo erstmal,


    hab hier schon eine Zeit lang einen vServer ("vServer GOLD"), da ich jetzt aber ein Problem habe wo mir langsam die Ideen ausgehen wende ich mich an euch :).
    Kurz gesagt, irgendwann hat meine Tomcat angefangen sich einfach so zu verabschieben und das in unregelmäßigen aber kurzen Abständen (im Schnitt nach 24-48 Stunden).


    In den Logs ist nichts zu finden und als ich die Tomcat einfach mal direkt ausgeführt und beobachtet habe ist auch klar warum, die Tomcat läuft vollkommen normal, bis als letzte Meldung ein schlichtes "Killed" entgegenspringt.. konnte leider bisher nicht rausfinden, von wo das Signal ausgeht.


    Habe den vServer bereits komplett neu aufgesetzt (Debian) und selbst mit normalem Standardsetup ohne irgendwelche Änderungen an der Konfiguration passiert das. Sowohl mit dem openjdk als auch dem sun jdk.
    Der Ressourcenverbrauch ist nichtmal ansatzweise am Limit, daran wird es nicht liegen, davon abgesehen, dass die Tomcat quasi nicht belastet wird.


    Hab hier im Forum schon vereinzelt von einem ähnlichen "Phänomen" gelesen, kann mir das aber trotzdem nicht erklären.


    Bedanke mich schonmal für mögliche Vorschläge und hoffe, dass da irgendjemand eine Idee zu hat.


    (Benutze Linux schon seit Ewigkeiten und betreibe mehrere Server, sowohl lokal als auch remote und soetwas ist mir bisher noch nie begegnet).

  • Ich habe oder hatte das gleiche Problem.. mein Tomcat ist 2-3 Mal unerwartet abgestürzt, komischerweise zu Zeiten, wo er nicht unter Last stand wie sonst. Auch das Verwenden des Sun-JDK hat nichts gebracht. Ich hatte sogar mehr Logs in Tomcat aktiviert, aber weder dort noch im Syslog konnte ich Hinweise auf die Ursache finden. In den letzten 3-4 Wochen scheint er allerdings brav durchzulaufen... also schon irgendwie komisch und beunruhigend, weil ich nicht weiß, ob und wann er das nächste Mal abstürzt.

  • Lass Dich mal auf einen anderen Node transferieren, um auszuschließen, dass vielleicht doch was mit dem Node nicht in Ordnung ist.


    Der vGold - auf dem mein Zeugs läuft - läuft bisher durch (November bis heute) absolut einwandfrei (unter CentOS) . Und außer SSH basieren alle von außen erreichbaren Dienste (web, mail, ...) auf Java. Und um zu testen läuft ein Teil mit sun jdk der Rest mit openjdk.


    Bebbo

  • Zitat von bebbo;12520

    Lass Dich mal auf einen anderen Node transferieren, um auszuschließen, dass vielleicht doch was mit dem Node nicht in Ordnung ist.


    Der vGold - auf dem mein Zeugs läuft - läuft bisher durch (November bis heute) absolut einwandfrei (unter CentOS) . Und außer SSH basieren alle von außen erreichbaren Dienste (web, mail, ...) auf Java. Und um zu testen läuft ein Teil mit sun jdk der Rest mit openjdk.


    Bebbo


    Bezweifel ich (leider), dass Netcup mich auf meinen Wunsch auf einen anderen Node verschiebt. So ein ähnliches, wenn nicht sogar das gleiche, Thema gab es hier ja schonmal. Das hatte ich am Rand verfolgt und meine mich zu erinnern, dass das damals ausgeschlossen wurde.
    Würden wohl, schätze ich mal, auch leider zu viel anfragen wenn sie das einmal machen würden.


    Würde auch nicht direkt verallgemeinern, dass das gleich alle Java-Programme oder größere Java-Programme betrifft, die Tomcat ist bisher die einzige Software wo ich das beobachten kann. Habe komischerweise schon anspruchsvollere Software laufen gehabt was Threads u. ä. angeht und da war überhaupt nichts..

  • Muss zugeben, dass ich nicht alle Beiträge zu 100% gelesen habe, aber hatte ein ähnliches Problem daher:


    • Mit wie viel Speicher läuft dein Tomcat. Ich musste meinen ein bisschen hochschrauben, hatte zuvor ähnliches Verhalten wie du
    • Benutzt du OpenJdk oder wie das heißt oder sun jdk? Hab hier im Forum auch schon gelesen, dass OpenJdk manchmal zu unerwarteten Abbrüchen seitens des Tomcats führt


  • Zitat von u6f6o;12619

    Muss zugeben, dass ich nicht alle Beiträge zu 100% gelesen habe, aber hatte ein ähnliches Problem daher:


    • Mit wie viel Speicher läuft dein Tomcat. Ich musste meinen ein bisschen hochschrauben, hatte zuvor ähnliches Verhalten wie du
    • Benutzt du OpenJdk oder wie das heißt oder sun jdk? Hab hier im Forum auch schon gelesen, dass OpenJdk manchmal zu unerwarteten Abbrüchen seitens des Tomcats führt


    Wie gesagt, passiert sowohl mit OpenJDK, als auch dem sun jdk.


    An sich wäre es komisch wenn das am Speicher liegen würde, da der benutzte nichtmal nahe dem maximal gesetzen Limit ist.
    Aber merkwürdig ist auch:
    Hatte die Tomcat jetzt mal testweise nicht über den jsvc sondern direkt über die java Binary starten lassen, wo auch der maximale Speicher standardmäßig viel höher ist und die ist bis jetzt doppelt so lange wie normal (gut, 2 Tage ^^) ohne Probleme gelaufen (bis ich sie jetzt beendet habe und mal über das normale jsvc Startskript und ähnlich hohem Speicher testen werde, vielleicht liegts ja wirklich daran).

  • hhm, hört sich wirklich komisch an. Wenn du denkst, dass es vielleicht wirklich in Richtung Speicherauslastung gehen könnte, kannst du auch noch versuchen mithilfe von jconsole oder Lambda Probe (http://www.lambdaprobe.org), rauszufinden, wo es an seine Grenzen läuft.


    Wie sieht's mit dem PermGen Space aus? Hast du den auf default gelassen oder hochgeschraubt? Deployst du des Öfteren?


    PermGen Space war bei mir manchmal das Problem. Aber eigentlich hätte es dann ja auch einen OutOfMemoryError geben sollen.

  • Zitat von u6f6o;12676

    hhm, hört sich wirklich komisch an. Wenn du denkst, dass es vielleicht wirklich in Richtung Speicherauslastung gehen könnte, kannst du auch noch versuchen mithilfe von jconsole oder Lambda Probe (http://www.lambdaprobe.org), rauszufinden, wo es an seine Grenzen läuft.


    Wie sieht's mit dem PermGen Space aus? Hast du den auf default gelassen oder hochgeschraubt? Deployst du des Öfteren?


    PermGen Space war bei mir manchmal das Problem. Aber eigentlich hätte es dann ja auch einen OutOfMemoryError geben sollen.


    Das ist ja eine der komischen Sachen, dass nichtmal eine Exception geworfen wird.
    Das zweite ist, dass es meinen Erfahrungen nach auch mit der Standardkonfiguration laufen sollte..


    An sich dürfte die Tomcat da an keine Grenzen stoßen, werde die nächste Woche in die Richtung aber trotzdem einfach mal ein bisschen rumprobieren. Aus irgendeinem Grund scheint (sicher weiß ich es natürlich erst wenn das ganze auch mal mind. eine Woche durchgelaufen ist) das aber auf den ersten Blick zu helfen.
    (btw. Werte sind alle auf default gewesen, da ich erstmal ausschließen wollte, dass irgendetwas mit meiner Konfiguration nicht gestimmt hat)


    Danke für den Tipp bzgl. der Monitoring Tools. Wenn nichts hilft werde ich da mal weiterprobieren.


    // edit
    In "default" oben ist inbegriffen, dass ich keine einzige Anwendung von mir deployed habe.

  • Zitat von spectred;12714

    Das ist ja eine der komischen Sachen, dass nichtmal eine Exception geworfen wird.
    Das zweite ist, dass es meinen Erfahrungen nach auch mit der Standardkonfiguration laufen sollte..


    ...


    // edit
    In "default" oben ist inbegriffen, dass ich keine einzige Anwendung von mir deployed habe.


    Java terminiert durchaus ohne Stacktraces, allerdings gibt es dann eine crashdump Datei "hs_err_pidXXXXX.log" XXXXX=pid, die fängt etwa so an:

    Code
    #
    # An unexpected error has been detected by Java Runtime Environment:
    #
    #  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x021df5fb, pid=2376, tid=1644

    Und mach doch mal alle Tomcat Ports in der Firewall zu. Wenn die JVM dann immer noch wegfliegt, wird es wirklich mysteriös.



    Bebbo

  • Eins fällt mir noch ein, was negativen Einfluss auf meinen Tomcat hatte: Auf meinem vServer lief ein Dienst avahi-daemon. Dieser ist eigtl. auf Anschlag gelaufen, also CPU-Last immer so um die 100 % wenn ich mit top nachgeschaut habe.


    Schau doch mal bei dir auf dem vServer nach, ob der Dienst läuft und wenn ja, mit welche Auslastung (idR brauchst du diesen Dienst auch gar nicht auf nem vServer).


    Als ich den Dienst deaktivert und deinstalliert hatte, lief auch mein Tomcat wieder stabiler. War aber nur ein Mosaik-Steinchen, ein anderes großes war eben die Speichernutzung.

  • Zitat von u6f6o;12721

    War aber nur ein Mosaik-Steinchen, ein anderes großes war eben die Speichernutzung.


    Dass Tomcat einfach der verfügbare Ram/Swap ausgeht ist nicht möglich? Weil dann taucht ziemlich sicher kein Logeintrag mehr auf. Ist nur einer Vermutung, ich verwende selbst keinen Tomcat.



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Erstmal vielen Dank für alle Anregungen.
    Die Tomcat scheint jetzt stabil zu laufen.


    Zitat von u6f6o;12721

    Eins fällt mir noch ein, was negativen Einfluss auf meinen Tomcat hatte: Auf meinem vServer lief ein Dienst avahi-daemon. Dieser ist eigtl. auf Anschlag gelaufen, also CPU-Last immer so um die 100 % wenn ich mit top nachgeschaut habe...


    Ja, ist mir bei manchen Debian-Versionen auch schon begegnet. Da achte ich bei mir aber regelmäßig drauf, dass kein Prozess Amok läuft.

  • Hallo zusammen,


    ich würde mich gerne in die Diskussion mit einbringen. Wir haben auf unserem VServer (ein alter vServer GOLD) auch einen Tomcat am laufen. In diesem haben wir Hudson, Nexus Maven Repository und Jira am laufen. Die drei Tools fressen scheinbar viele Resourcen und wir haben schon einige Speichereinstellungen durchprobiert.


    Wir sehen ständig in den Logfiles OutOfMemory Errors und teilweise konnten keine neuen Prozesse mehr geforkt werden, weil das System so blockiert war (nicht mal ein ps -edaf war möglich).


    Meine Frage an u6f6o wäre, ob du uns deine Tomcat Speichereinstellungen mitteilen könntest und auch den Connector Eintrag deiner server.xml.


    Wir haben es bislang mit folgenden Einstellungen versucht:
    -XX:MaxPermSize=512m -XX:PermSize=128m -Xms256m -Xmx1024m -XX:+CMSClassUnloadingEnabled


    Leider ohne Erfolg. Wir vermuten, dass für unsere Webanwendungen der Speicher wirklich nicht ausreicht.


    Viele Grüße
    Martin


    PS: Über TOP sehe ich für den Tomcat folgende Daten, er scheint richtig viel Speicher zu fressen, meiner Meinung zu viel



    10278 blattsal 20 0 1866m 656m 13m S 0 65.6 1:52.92 java


  • Hi,


    kann ich gerne machen, allerdings bin ich gerade in der Arbeit. Schreib mir bitte eine private Nachricht als Reminder, ich vergesser sowas gern ;)


    Viele Grüße,
    u6f6o