28. juni 2007

Spennvidde

For å vise at jeg er en splittet personlighet med noe sprikende interessefelt, så skal jeg nå blogge om heapdump verktøy... Fra vaskemiddel til Java Heapdumps.. ja .. ja.. Det er "on request" da.

JavaPosse, som er min favorittpodcast, hadde for noen uker siden SAP Memory Analyzer som sin "Application Of the Week". I tillegg har produktet fått "to tomler opp" av Bergensern, som er naturlig skeptisk til alt som begynner med SAP. Så jeg tenkte det var ok å prøve det.. da vi har noen OutOfMemory problemer fra tid til annen der jeg jobber. Dog ikke på fiskaren.

Etter litt frem og tilbake, så fant jeg ut at jeg kunne lage heapdumps fra tomcat 5.0.28 (med JVM 1.4.2_12 eller høyere) ved å sette -XX:+HeapDumpOnCtrlBreak i oppstartsscriptet. For så å bruke Ctrl + Break når jeg ville ha en ny dump. For de som ikke har vært helt til høyre øverst på tastaturet før, så er det der Break tasten befinner seg (sammen med Pause, Scroll Lock og de andre raringtastene). Man kan også få ut en dump ved å bruke -Xrunhprof:heap i oppstartsscriptet, men SAP Memory Analyzern kunne ikke parse disse filene... Av en eller annen grunn. Disse dumpene er hprof filer, som er sun sin standard.

Og her kommer det som er kjedelig... I produksjon kjører vi på Java VM fra IBM. Denne har jo "selvfølgelig" sin egen standard... Alle barn leker bra sammen, utenom IBM - de er sære. Så hvis man setter IBM JVMen til å dumpe, så lager den ikke hprof filer, den lager phd filer.

Så da er spørsmålet til alle dere java-nerds der ute; har dere hørt om noen verktøy som konverterer phd filer til hprof filer slik at jeg kan bruke min SAP Memory Analyzer??