Ahoj, ano, 32bit java nenaadresuje viac ako 4G. Ja som ale pochopil, ze sa k tomuto limitu jvm este nepriblizila, alebo ano? Co je vidiet v process table ( alebo ako sa to na windows nazyva )?
-- Dusan Dňa 13. apríla 2012 11:03, Jiří Zůna <[email protected]> napísal/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
