principialne by to malo fungovat tak, ze : - v aplikacii bezi N uspatych vlakien - v pripade potreby je vlakno prebudene a vykona svoju cinnost - znovu sa vlakno uspi
Opatovne vytvaranie ( a ukoncovanie ) vlakien za chodu aplikacie je hooodne neoptimalne To samozrejme neriesi vas problem Dal by som si cyklicky vypisovat do logu velkost pamate ( volna, alokovana a aj permgen - ako tu uz niekto spomenul ) A pozrel sa, ako sa pamat uvolnuje ... Pekny vecer -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Jaroslav Hurdes Sent: Thursday, 12.April 2012 20:20 To: [email protected] Subject: Re: java.lang.OutOfMemoryError: unable to create new native thread Ne, tato třída nemá s JNI nic společného. Je to jednoduchý server, který na požádání vytvoří thread, obslouží požadavek a ukonči se. Tato třída má na svědomí ten celkový počet spuštěných threadu, které ale žijí jen velmi krátce (klient se zeptá na stav aplikace a po odeslání zprávy je thread ukončen). Jaroslav Hurdes Dne 12.4.2012 20:13, Roman Pichlík napsal(a): > Vola se to JNI v ramci CommandClientsManager$Client.start? > > 2012/4/12 Jaroslav Hurdes<[email protected]>: >> Vláken je spuštěno pouze 26, viz výpis z dokumentace k jconsole >> >> Threads >> >> Live threads: Current number of live daemon threads plus non-daemon >> threads >> Peak: Highest number of live threads since JVM started. >> Daemon threads: Current number of live daemon threads Total started: >> Total number of threads started since JVM started (including daemon, >> non-daemon, and terminated). >> >> >> DLL je volána přes JNI a nemělo by tam vzniknout souběžně více vláken >> (získávání obrazu z frame grabberu). >> >> Jaroslav Hurdes >> >> Dne 12.4.2012 19:26, Roman Pichlík napsal(a): >> >> To je pocet celkove vytvorenych vlaken po dobu behu, nikoliv zivych, >> tech je tam relativne malo, 67 pokud dobre pocitam. >> >> 2012/4/12 Martin Caslavsky<[email protected]>: >> >> Máte 2.500 vláken a další už nejde vytvořit... První odkaz v Google >> popisuje tenhle problém: >> http://stackoverflow.com/questions/763579/how-many-threads-can-a-java >> -vm-support >> >> Martin Caslavsky >> >> >> >> On 12 April 2012 18:08, Jaroslav Hurdes<[email protected]> wrote: >> >> Zdravím, bojuji s vyjímkou, která nastává v mé aplikaci a nedaří se >> mi objevit příčinu. Vyjímka je následující: >> >> Exception in thread "Thread-6" java.lang.OutOfMemoryError: unable to >> create new native thread >> at java.lang.Thread.start0(Native Method) >> at java.lang.Thread.start(Thread.java:640) >> at >> cz.nitta.licenceplate.server.business.communicator.CommandClientsManager$Client.start(CommandClientsManager.java:357) >> at >> cz.nitta.licenceplate.server.business.communicator.CommandClientsManager.addClient(CommandClientsManager.java:118) >> at >> cz.nitta.licenceplate.server.business.communicator.ClientsGatekeeper.addClient(ClientsGatekeeper.java:196) >> at >> cz.nitta.licenceplate.server.business.communicator.ClientsGatekeeper.acceptClient(ClientsGatekeeper.java:140) >> at >> cz.nitta.licenceplate.server.business.communicator.ClientsGatekeeper.run(ClientsGatekeeper.java:213) >> at java.lang.Thread.run(Thread.java:662) >> >> Prostředí je popsáno níže. V příloze je obrazovka z jconsole, kde je >> zobrazen počet threadu i stav paměti. Nesetkal se někdo s něčím >> podobným a nenašel řešení? Zkouším laborovat s různými parametry, ale >> zatím nic. 32 bit javu používám z důvodu nutnosti použít 32 bit dll. >> Díky. Jaroslav Hurdes >> >> OS Windows 7, x64 >> >> Verze javy (32 bit) >> java version "1.6.0_31" >> Java(TM) SE Runtime Environment (build 1.6.0_31-b05) Java HotSpot(TM) >> Client VM (build 20.6-b01, mixed mode, sharing) >> >> spouštění aplikace: >> java -XX:ThreadStackSize=256 -Xss256k -XX:ReservedCodeCacheSize=64m >> -Dcom.sun.management.jmxremote >> -Dcom.sun.management.jmxremote.port=9001 >> -Dcom.sun.management.jmxremote.authenticate=false >> -Dcom.sun.management.jmxremote.ssl=false -server -Xcheck:jni >> -Xmx1024M -Djava.library.path=..\common\lib\native -jar >> nitta-lp-rec-srv.jar ./cfg %* >> >> >> >> >> > >
