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
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/ Blog pro kodery */