Brauche HIlfe von jemandem, der einen 2.6er Kernel laufen hat.

Hallo Anakin77,

die Anzahl der Java-Threads die erzeugt werden koennen,
haengt wesentlich davon ab, wie die stackgroesse mit ulimit -s gesetzt ist.
Halbiert man diesen Wert, verdoppelt sich in etwa die Anzahl der erzeugbaren Threads..
Nebenbei: Ich verwende noch Java1.3 mit kernel 2.6.9-22.0.2.ELsmp



# ulimit -s 20480
#java -Xmx32m -Xms32m -Xss512K -XX:MaxPermSize=4m Threadtest 1000
..
Thread Nummer 138 erzeugt!
Exception in thread "main" java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start(Native Method)
at Threadtest.main(Threadtest.java:52)


# ulimit -s 10240
#java -Xmx32m -Xms32m -Xss512K -XX:MaxPermSize=4m Threadtest 1000
..
Thread Nummer 287 erzeugt!
Exception in thread "main" java.lang.OutOfMemoryError: unable to create new native thread
at java.lang.Thread.start(Native Method)
at Threadtest.main(Threadtest.java:52)
 
Erfahrungsbericht zum Thema:

Ich hatte Probleme bei eine Umstellung auf Tomcat 5.5 mit Java 1.5. Nach gewisser Laufzeit im Produktionsbetrieb blieb der Container hängen, Auszug aus catalina.out:

28.06.2006 22:27:31 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable run
SEVERE: Caught exception (java.lang.OutOfMemoryError: unable to create new native thread) executing org.apache.jk.common.ChannelSocket$SocketAcceptor@d4694f, terminating thread

Das ganze auf einem PIV Server, 2G, Suse 9.3 mit neusten Patches, tomcat und Java allerdings selbst installiert kein Pakete von Suse verwendet.

Mit dem hier gepostet Code habe ich dann rumgespielt. Bei Java1.5 war bei 53 Threads Ebbe, bei der älteren Java 1.4 Version 1000 Threads kein Problem. Spielen mit den -X Optionen: Kein Effekt, nachvollziehbar stieg das Testprogramm genau wie Tomcat nach genau 53 Threads aus....... unabhängig von den Startoptionen!?!?!?!

Lösung auch hier wie oben angedeutet: ulimit -s

Egal was für ein Zahlenwert gesetzt wurde: 53 Threads!!!
ulimit -s unlimited: Yeah!! jetzt ist bei ca. 800 Threads Ebbe, was aber VIEL MEHR als ausreichend für meine Zwecke ist!!!

Kleine Parameter, grosse Wirkung.....

Danke für alle Postings, haben mir zumindest ein bisschen Zeit gespart, da sie mich schneller auf die richtige Fährte gebracht haben!

Cheers
Gulpi
 

Ähnliche Themen

Input == String => false

Java 1.3 ORO Regex Problem

Performant Scrollen

NagiosGrapher 1.7.1 funktioniert nicht

Problem bei Berechnung

Zurück
Oben