본문 바로가기

IT-Consultant

Heap Dump와 HAT

Java에서 Ctrl+Break로 Dump 파일 생성하는 방법
-XX:+HeapDumpOnCtrlBreak


Heap Dump는 Object Allocation에 대한 가장 상세한 정보를 제공한다. 그 정보의 양이 대단히 많기 때문에 효과적으로 분석하기 위해서는 시각적인 툴이 필요하다. Sun에서 제공하는 Heap Analysis Tool(HAT)이 가장 대표적인 Heap Dump 분석 툴이다. HAT은 Binary Format의 Heap Dump 파일을 시각적으로 분석해주는 기능을 제공한다. 아래에 HAT을 사용하는 간단한 예제가 있다.

-- Heap Dump 파일을 생성한다.(Binary Format)
Prompt> java -Xrunhprof:heap=dump,format=b,file=heapbinary.dmp [Main Class]
-- HAT을 수행한다.
Prompt> java -Xmx1024m -jar hat.jar heapbinary.dmp
Started HTTP server on port 7000
Reading from heapbinary1.dmp...
Dump file created Thu Oct 18 14:11:28 KST 2007
Snapshot read, resolving...
Resolving 380425 objects...
Chasing references, expect 760 dots.........................................
Eliminating duplicate references................................................
Snapshot resolved.
Server is ready.

HAT은 Web Server를 내장하고 있으며 Web Browser를 통해서 정보를 조회하는 방식을 사용한다.