Java [1242]

Zapisz się
Dodaj kartkę Dodaj bana
Powód wlepienia kartki
Wybierz wątek docelowy z listy lub wpisz jego ID
  • wojteks

    Mial ktos jakies doswiadczenia w temacie?
    Podobno jest to 'sztuka'. Mi zaczyna sie wydawac ze to sztuka opoznienia full GC a nie tuningu (bo full GC jest nieuniknione).
  • Lipson Earl Grey

    hmm, obawiam sie ze możesz miec niestety racje. Możesz tez wyprobowac inne maszyny wirtualne, jak BEA JRockit, z tego co wiem rozni sie troche, szczegolnie "agresywniej" traktuje kwestie synchronizacji i wątki, może okazac sie ze bedzie lepsze, ale moze sie okazac tez ze wyjdzie jakis blad ktory na maszynce SUN nie wystepuje - w SUNa 1.4.1 bodajże i kazdej nastepnej jest tzw Memory Model zaimplementowany ktory oficjalnie w specyfikacji Javy 1.5 jest dopiero, dzieki temu wielowatkowosc posiada "margines błędu" ktory nie jest wymagany przez specyfikacje. W JRockit 1.4.X tego nie ma, ale w 1.5 juz jest bo specyfikacja tego wymaga, pozatym JRockit dokladniej weryfikuje bytecode i nie używa HotSpot z tego co pamietam - najpierw wszystko kompiluje do konca zanim zacznie przetwarzac.

    Ale w obrebie jednej maszyny wirtualnej najprawdopodobniej wszytko sprowadza sie do opoznienia FullGC...
  • wojteks

    ano wlasnie sie przesiadlem na jrockit i generuje pauzy po 0,5 - 2sekundy ale za to sie nie rozlatuje kompletnie jak to mial w zwyczaju jvm sun'a i jego konfiguracja wyglada na o wiele latwiejsza od sunowej.

    takze poki co o wiele bardziej stabilnie (niz 1.5 sun'a), zobaczymy jak bedzie dalej.
  • Lipson Earl Grey

    probowales ktoregos z paralell albo concurrent GC? moze to pomoze, szczegolnie paralell jesli maszyna jest wieloprocesorowa, z tego co pamietam to do nawet jednoprocesorowych ConcurrentMarkAndSweep pomaga jesli masz ponad giga ramu...


    ... podpowiedziami regulacji -Xmx nie będe Cię obrażał :)

    gdzies widzialem artykul o GC świerzy, na onjava.com chyba, nie jestem pewien.
  • wojteks

    czytalem wszystkie artykuly o GC na swiecie :)

    probowalem CMS, totalna padaka na sunowym JVM. raz na jakis czas wszystkie watki nagle zaczynaly zajmowac 100% procesora (i tak przez 60 sekund) a potem wypluwalo ze zrobilo wlasnie GC w 0.3s :)

    w jrockit sam sobie dobiera rodzaje GC w zaleznosci od warunkow. no i wyglada na to ze dziala cudnie, tylko raz dzis padlo.
  • Lipson Earl Grey

    hmm, wiesz co, dowiem sie w pracy, bo aplikacja ktora wlasnie z kumplami zakonczylismy chodzi na zestawie SUN-JVM/Tomcat/Oracle, i nigdy zwisów nie było, a stabilność jest priorytetem, z tego co wiem w "produkcyjnym" sprzecie jest chyba 3 giga ramu, zapytam sie czarodziejki od konfiguracji jakie "-XX:" i "-D" wklepała za nie ma z tym problemu :)