Java
IBM Thread and Monitor Dump Analyzer
javamix
2009. 5. 8. 18:16
java 를 구동하기 위해서는 기본적으로 jvm 이 필요하다. java 의 장점은 가비지 컬렉터가 메모리 관리를 하기 때문에 따로 신경쓰지 않아도 되는 것이다.
하지만, 가비지 컬렉터가 만능은 아니다. 메모리 할당이 부족할 수도 있고, 잘못된 코딩으로 인하여 사용되는 자원이 점점 늘어날 수도 있다.
이럴경우 core 파일이 발생하거나 heapdump 가 발생할 수 있다. 하지만 해당 파일만 가지고 내용을 그냥 보기에는 무리가 있으므로 해당 파일을 분석할 수 있는 툴을 돌려야 한다.
heapdump 의 경우 그 크기가 매우크기 때문에 분석툴을 돌리기가 힘들다. 물론 요즘은 컴퓨터 사양이 매우 좋아져서 별 무리가 없을수도 있다. ㅡㅡ;;
이번에 소개할 툴은 javacore 를 분석할 수 있는 툴이다. ibm 에서 제공하는 공짜툴인 jca 가 그것이다.
(참고로 heapdump 를 분석하는 툴로 HeapAnalyzer 가 있다.)
다운받으면 jar 파일이 하나 있고 간단하게 실행해보면 아래와 같은 모습을 볼 수 있다.
이미지에서 보는바와 같이 스윙으로 만들어져 있고, 띄울 때 -Xmx 옵션을 적용해서 메모리를 여유있게 주는것이 좋다.
여러개의 javacore 를 동시에 분석할 수도 있고.. core 발생할 당시의 메모리상황.. 의심되는 Thread 등의 정보를 확인할 수 있다.
하지만, 가비지 컬렉터가 만능은 아니다. 메모리 할당이 부족할 수도 있고, 잘못된 코딩으로 인하여 사용되는 자원이 점점 늘어날 수도 있다.
이럴경우 core 파일이 발생하거나 heapdump 가 발생할 수 있다. 하지만 해당 파일만 가지고 내용을 그냥 보기에는 무리가 있으므로 해당 파일을 분석할 수 있는 툴을 돌려야 한다.
heapdump 의 경우 그 크기가 매우크기 때문에 분석툴을 돌리기가 힘들다. 물론 요즘은 컴퓨터 사양이 매우 좋아져서 별 무리가 없을수도 있다. ㅡㅡ;;
이번에 소개할 툴은 javacore 를 분석할 수 있는 툴이다. ibm 에서 제공하는 공짜툴인 jca 가 그것이다.
(참고로 heapdump 를 분석하는 툴로 HeapAnalyzer 가 있다.)
다운받으면 jar 파일이 하나 있고 간단하게 실행해보면 아래와 같은 모습을 볼 수 있다.

여러개의 javacore 를 동시에 분석할 수도 있고.. core 발생할 당시의 메모리상황.. 의심되는 Thread 등의 정보를 확인할 수 있다.