PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tomcat friert immer wieder ein



anquijix
04.05.06, 10:47
System: FC4 2.6.11-1.1369_FC4smp
Apache: httpd-2.0.54-10.2
Tomcat: tomcat5-5.0.30-5jpp_6fc
Java: java version "1.4.2"
Mysql: mysql-4.1.16-1.FC4.1

Im normalen Betrieb bleibt Tomcat nach einer gewissen Zeit stehen. Nach dem Neustarten des Dienstes funktioniert tomcat wieder einwandfrei. Weder in messages noch in der catalina.out stehen sinnvolle Informationen. Das einzige,was auf das Problem hindeutet, ist folgende Meldung:


Created MBeanServer with ID: [UID: 3612248,1146656527529,-32768]:hostname:1
Catalina.stop: java.net.ConnectException: Verbindungsaufbau abgelehnt
java.net.ConnectException: Verbindungsaufbau abgelehnt
at gnu.java.net.PlainSocketImpl.connect(java.net.Sock etAddress, int) (/usr/lib/libgcj.so.6.0.0)
at java.net.Socket.connect(java.net.SocketAddress, int) (/usr/lib/libgcj.so.6.0.0)
at java.net.Socket.connect(java.net.SocketAddress) (/usr/lib/libgcj.so.6.0.0)
at java.net.Socket.Socket(java.net.InetAddress, int, java.net.InetAddress, int, boolean) (/usr/lib/libgcj.so.6.0.0)
at java.net.Socket.Socket(java.lang.String, int) (/usr/lib/libgcj.so.6.0.0)
at org.apache.catalina.startup.Catalina.stopServer(ja va.lang.String[]) (/usr/lib/libcatalina-5.0.30.jar.so)
at java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) (/usr/lib/libgcj.so.6.0.0)
at org.apache.catalina.startup.Bootstrap.stopServer(j ava.lang.String[]) (/usr/lib/libtomcat-bootstrap-5.0.30.jar.so)
at org.apache.catalina.startup.Bootstrap.main(java.la ng.String[]) (/usr/lib/libtomcat-bootstrap-5.0.30.jar.so)
at gnu.java.lang.MainThread.call_main() (/usr/lib/libgcj.so.6.0.0)
at gnu.java.lang.MainThread.run() (/usr/lib/libgcj.so.6.0.0)

Unser Verdacht liegt an der Anzahl der Webseiten bzw den Zugriffen darauf, so dass Java mit der Zeit die Speicherverwaltung nicht mehr richtig verwaltet.

Gibt es Optionen in der Config (httpd,tomcat), in der man die Anzahl Verbindungen, Sessions, was auch immer erhöhen kann? Dieses Problem bestand schon beim alten Server mit älteren Versionen. Die Hoffnung, dass es nicht mehr besteht in den neueren Versionen, war gross, die Enttäuschung noch grösser :P

Hat jemand ähnliche Erfahrungen gemacht oder einen Tipp, wie ich auf die Lösung komme?

Edit: Mir ist jetzt noch etwas anderes aufgefallen in der mod_jk.log:


[Thu May 04 10:30:32 2006] [jk_ajp_common.c (1250)]: Tomcat is down or network problems. No response has been sent to the client (yet)
[Thu May 04 10:30:32 2006] [jk_ajp_common.c (1449)]: ERROR: Receiving from tomcat failed, recoverable operation. err=0
[Thu May 04 10:30:32 2006] [jk_ajp_common.c (1468)]: sending request to tomcat failed in send loop. err=0

marce
05.05.06, 06:44
die entsprechenden Variablen kannst Du in der server.xml und der web.xml setzen... Evtl. hilft auch ein Beschränken der VM (min / max-Speicher) beim Start des Tomcat...

Ansonsten - evtl. auch mal den Code der App. analysieren... Wir hatten bei uns ähnliche Probleme und nach einem Code-Audit einige unsauber programmierte Stellen gefunden, die dann entsprechend korrigiert die komlpette App. stabiler laufen liessen...