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<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

/*


--
:J

Reply via email to