[Java lista] tomcat 5 thread probléma

Peter Verhas peter at verhas.com
2009. Feb. 13., P, 16:15:30 CET


-Xmx96m az piszokul kevés! Ha nincs több a gépben, akkor az még rosszabb.

És megfontolnám a Tomcat 7-re való áttérést. (Ne keresd ezen a néven,
úgy hívják Glassfish 3.)

Péter

2009/2/13 István Viczián <viczian.istvan at gmail.com>:
> Magyusz, a szívemből beszélsz. :) Ezt akartam én is hozzátenni.
>
> Viczi
>
> 2009/2/13 Tamás Magyar <magyusz at gmail.com>:
>> JMeterrel könnyen reprodukálható. Nio http connector azt hiszem csak a
>> 6-os Tomcatben jelent meg, de az sokat segítene, nem kéne hirtelen 100
>> szál 100 egyidejű kérés kiszolgálásához.
>>
>> Nem ellenjavallt a webappon belüli thread gyártás, ezt már többször
>> kitárgyaltuk a listán.
>> A saját threadeket érdemes Executorral kiváltani, hogy Thread poolt
>> használjanak.
>>
>> Magyusz
>>
>> 2009/2/13  <chico at tisztanet.hu>:
>>> Sziasztok!
>>>
>>> Tomcat 5 alatt az alábbi üzenet jön néhány órai használat után:
>>>
>>> "java.lang.OutOfMemoryError: unable to create new native thread"
>>>
>>> A webapp-on belül thread-ek jönnek létre és szűnnek meg ciklikusan,
>>> amelyekben  a rendszer kommunikál a kliensekkel (tudom, nem ajánlott a
>>> webappon belüli thread gyártás, de ez egy régebben írt webapp...).
>>>
>>> A rendszer így évek óta működik, 5/12 -es üzemben.
>>> Most viszont a kliensek száma hirtelen 500-600 körülire nőtt (egy
>>> időben), és jött a hiba.
>>> A tomcat/server.xml -ben a maxThreads növelése nem hozott javulást.
>>>
>>> A kérdésem: hol kell/lehet állítani/lekérdezni, hogy az
>>> oprendszer/tomcat/jvm?  biztosítson megfelelő számú thread-et?
>>> (a webapp módosítása most nem nagyon lehetséges)
>>>
>>> Környezet:
>>> Solaris 10, Java 1.5.0.14, Apache Tomcat/5.5.17
>>> CATALINA_OPTS:
>>> -Dencoding=UTF-8 -Xms32m -Xmx96m
>>> -XX:MaxPermSize=96m -XX:+PrintGCDDtails -XX:NewSize=16m -verbose:gc
>>> -XX:CompileThreshold=30000 -XX:+UseParallelGC -XX:+UseBoundThreads
>>> -Xconcurrentio
>>>
>>> A max memória értéket soha sem éri el (ezt már megmérték).
>>>
>>> Nekem a hibát reprodukálnom is kellene Linux-os környezetben (Ubuntu),
>>> úgyhogy ha van valakinek ötlete, hogy hogyan lehet ezt megtenni, ne
>>> kíméljen.
>>>
>>> Üdv,
>>> Chico
>>>
>>> ------------------------------------------
>>> A stacktrace:
>>>
>>> java.lang.OutOfMemoryError: unable to create new native thread
>>>        at java.lang.Thread.start0(Native Method)
>>>        at java.lang.Thread.start(Thread.java:574)
>>>        at
>>> com.mics.net.dispatcher.client.router.doGet(router.java:608)
>>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>        at
>>> org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:419)
>>>        at
>>> org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:133)
>>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>        at
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>>>        at
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>>>        at
>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>>>        at
>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>>>        at
>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>>>        at
>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>>>        at
>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>>>        at
>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>>>        at
>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>>>        at
>>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>>>        at
>>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>>>        at
>>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>>>        at
>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>>>        at java.lang.Thread.run(Thread.java:595)
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Javalist mailing list
>>> Javalist at javagrund.hu
>>> http://javagrund.hu/mailman/listinfo/javalist
>>>
>> _______________________________________________
>> Javalist mailing list
>> Javalist at javagrund.hu
>> http://javagrund.hu/mailman/listinfo/javalist
>>
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
>



-- 
Verhás Péter
ügyvezető
Verhás & Verhás Szoftver Manufaktúra Kft.
peter at verhas.com
t: +36(30)9306805


További információk a(z) Javalist levelezőlistáról