Ja pouzivam rovnez MAT. U bezici aplikace provest heap dump idealne pres
jmap (pripadne nastavit jvm tak, aby vytvorila heapdump pokazde kdyz dojde
pamet (-XX:+
HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=adresar) a potom analyzovat dump
v MATu.

Muze se stat, ze heap se neda v MATu otevrit (server ma vice pameti nez
vyvojarske PC), pak se da MAT pustit z konzole pres prikazovou radku a umi
vygenerovat report do html.

Honza


2010/5/5 Ondra Medek <[email protected]>

> Ja mam tez dobre zkusenosti s Eclipse MAT (free): zjisti, objekty
> ktere tridy zabiraji nejvice, pak lze funkci "find root to gc" rychle
> najit zdroj leaku.
>
> 2010/5/5 Michal Bocek <[email protected]>:
> > Skuste jprofiler alebo yourkit a porovnat snapshoty. Pripadne
> nakonfigurovat
> > jvm tak aby robil heapdump a ten nasledne analyzovat.
> >
> > Snad som pomohol,
> > Michal.
> >
> > 2010/5/5 Lukáš Záruba <[email protected]>
> >>
> >> Zkus jvisualvm aplikačku z JDK (je ve složce bin), tam jde udělat heap
> >> dump a pak se v něm kouknout kolik instancí čeho a v jakém stavu byly.
> >> Nejsem si jistý, jak se tohle liší od normálního profilingu z hlediska
> >> komunikace s JVM, nicméně už jsem pomocí toho odhalil dost problémů...
> >> Použití je poměrně jednoduché, taže myslím, že nepotřebuje další
> >> vysvětlení :)
> >>
> >> L.
> >>
> >> ______________________
> >> Lukáš Záruba (Lukas Zaruba)
> >> Chief Technical Officer
> >> MEDIA SOLUTIONS EUROPE
> >> Lisabonská 4
> >> Praha 9 190 00
> >> Czech Republic
> >> phone: +420 721 879 363
> >>
> >>
> >>
> >> Tomas Hubalek wrote:
> >>>
> >>> Zdar,
> >>>  mam velice rozsahlou aplikaci v Jave a nekde se mi neuvolnuje pamet.
> >>> Statickz analyza kodu by snad ani nebyla mozna v rozumnem case. Nasel
> jsem
> >>> moc pekny tutorial
> http://www.javapassion.com/handsonlabs/nbprofilermemory/
> >>> bohuzel mi vdycky JVM krachne na
> >>>  WARNING: [AWT-EventQueue-1] Cant promote a shared lock held by 2
> >>> threads!
> >>> #
> >>> # An unexpected error has been detected by Java Runtime Environment:
> >>> #
> >>> #  Internal Error (sharedRuntime.cpp:886), pid=4752, tid=5992
> >>> #  Error: guarantee((retry_count++ < 100),"Could not resolve to latest
> >>> version of redefined method")
> >>> #
> >>> # Java VM: Java HotSpot(TM) Client VM (11.0-b16 mixed mode, sharing
> >>> windows-x86)
> >>> # An error report file with more information is saved as:
> >>> #
> >>>
> D:\CurrentProjects\CADET2009\netbeans-modules-suite.2.1\application\target\cadet\hs_err_pid4752.log
> >>> #
> >>> # If you would like to submit a bug report, please visit:
> >>> #   http://java.sun.com/webapps/bugreport/crash.jsp
> >>> #
> >>>  Zkousel jsem to jak na Linuxu, tak na Windowsech, bohuzel porad
> stejne.
> >>>  Netusite nekdo, jak to zjistit to same bez profileru? Command line mi
> >>> nedela problem.
> >>>  Tom
> >
> >
>
>
>
> --
> Ondra Medek
>

Odpovedet emailem