Zdravim, Na vasem popisu situace me zaujalo max. 12GB pameti a 33%-ni vuziti (takze +- 4GB obsazene pameti). A ted moje silena domnenka: Java je pouze 32bit proces, tudiz dal nez za 4GB nevidi a pamet pro stack se alokuje mimo heapu (a samozrejme i mimo permgen). Myslim si, ze pro javu se v tech jejich ctyrech gigabajtech uz nenajde misto pro novy stack pro nove vlakno (muze tam byt os, dalsi programy, ...) a tak skonci s OOM, idkyz je vlastne 66% pameti nevyuzite. Jestli to ale skutecne tak muze byt, si nejsem jisty.
Hodne zdaru, :J On Thursday, April 12, 2012, Jaroslav Hurdes wrote: > Systém má k dispozici 12 GB RAM. Využití paměti je na cca 33% CPU 20% > Procesu cca 70, Threadu cca 5000 na cely OS, takže docela v pohodě. > > Jaroslav Hurdes > > Dne 12.4.2012 20:59, Peter Hanuliak napsal(a): > > skusali ste pozriet ako vyzeraju zdroje windows systemu? ako on vyzera > s threadmi? pamatou a pod? > > > 2012/4/12 Roman Pichlík<roman.pich...@gmail.com>: > > hmm je uz to opravdu jenom strelba od boku, co zkusit nastavit PermSpace? > > 2012/4/12 Jaroslav Hurdes<j...@ataco.cz>: > > 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<j...@ataco.cz>: > > 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<martin-l...@geek.cz>: > > 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<http://stackoverflow.com/questions/763579/how-many-threads-can-a-java-vm-support> > > Martin Caslavsky > > > > On 12 April 2012 18:08, Jaroslav Hurdes<j...@ataco.cz> 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/> > > -- :J