hmm je uz to opravdu jenom strelba od boku, co zkusit nastavit PermSpace? 2012/4/12 Jaroslav Hurdes <[email protected]>: > 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 >>> %* >>> >>> >>> >>> >>> >> >> >
-- S pozdravem Roman "Dagi" Pichlik /* http://dagblog.cz/ Blog pro kodery */
