Ahoj, pamet i celkovy pocet vlaken se mi zdaji v poradku. Podival bych se na pocet otevrenych souboru. Nejsou tam nejake pracovni soubory?
Z. -- Zdenek Tronicek FIT CTU in Prague Jaroslav Hurdes napsal(a): > To je v pořádku, nepsal jsem, že daná aplikace je jediná na PC, Ve > skutečnosti je tam daná aplikace spuštěna několikrát (zpracováni obrazu > z více kamer, v tomto konkrétním případě 2x) + databáze + AS JBoss + OS > a další programy. Jedna instance problematické aplikace má nastaveno Xmx > na 1024m. > > Jaroslav Hurdes > > Dne 13.4.2012 11:03, Jiří Zůna napsal(a): >> 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<[email protected]>: >> >> 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 >> >> /* >> >> >> >> -- >> :J >
