Tomcat auf vServer

  • Hallo,

    ich habe (wie ein paar andere Kunden anscheinend auch) das Problem, dass mein Tomcat Prozess relativ häufig (mehrmals täglich) Sang und Klanglos verschwindet. Keine Log-Einträge, weder in den Tomcat Logs noch in den Syslogs.
    Das Problem wurde schon einige male hier im Forum Thematisiert.
    Netcup Support meint dazu:

    es scheint als würden Sie mit Ihrem Tomcat regelmäßig an die Grenzen des vServers
    stoßen, wodurch Ihr vServer diesen Prozess dann beendet.

    und weiter:

    der Prozess wird, wenn er beendet wird, durch die Standardmechanismen eines Linux Systems beendet. Wir beenden den Prozess nicht.

    Die Erklärung scheint mir weder plausibel noch hilfreich.

    Ich betreibe selbst mehrere (v)Server bei Netcup und 1&1 und das Problem tritt nur auf 2 vServern von Netcup auf.

    Gibt es dazu irgend welche Lösungsansätze?

    Gruss

    Moritz Gmelin

  • Ohne weitere Angaben bezüglich deines vServers (Ram, Swap) kann man natürlich nichts sicheres sagen. Allerdings kann ich bei mir ein ähliches Verhalten beobachten.

    Das Problem liegt auf meinem vServer am Ram. Während der Tomcat läuft steigt die Heapsize der JVM. Wenn eine Größe erreicht wird, die über dem garantieren RAM des vServer liegt, dann wird der SWAP Bereich hinzugenommen. Da es meines Wissens nach keinen garantierten SWAP Speicher gibt, kann dieser dem vServer aber quasi unterm Arsch entzogen werden. In diesem Fall stürzt die JVM und damit auch alle Anwendungen die darauf laufen ab.

    Wenn das Problem nur auf netcup Servern auftritt, liegt das vieleicht daran, das extrem viele vServer auf einem physikalischem Host laufen. SWAP kann dir wie erwähnt einfach eintzogen werden und wenn die anderen vServer eben garantierten Speicher benötigen, dann wird dies auch passieren. Leider habe ich dafür auch keine Lösung. Ich hätte erwartet, dass es nicht so eine Overcommitment an Speicher gibt..
    Trotzdem kannst du es beeinflussen, indem du Heap + PermGen + Heap der JVM unter dem Limit für garantierten RAM hältst.