출처 : javaservice.net
제목 : AIX,Windows,Linux 환경에서의 HeapDump 및 Javacore 발생,분석 방법 글쓴이: 차의중(prof21) 2005/03/07 20:44:41 조회수:972 줄수:36 |
대체로 WebSphere User들은 다 알고 계시겠지만, AIX, Linux, Windows 환경에서 OutOfMemory 발생시, 혹은 memory leak이 의심될 경우, 다음과 같은 방법을 자주 사용합니다. 일단, 다음 문서를 참조하시어 javacore 와 heapdump를 떠 보시길 권합니다. http://www-1.ibm.com/support/docview.wss?rs=180&context=SSCMPCY&q1=MustGatherDocument&uid=swg21138457&loc=en_US&cs=utf-8&lang=en 위 방식대로 하시면 OutOfMemory 에러가 발생하는 즉시 heapdump 와 javacore 파일이 생성됩니다. heapdump 파일은 WAS 내 객체 및 메모리의 구조/크기등을 보여줌으로써 Memory leak을 알아내기 쉽게 해 줍니다. javacore는 WAS 내 스레드들의 스택을 보여주므로 어떤 메소드들이 수행중이었는지를 보여줍니다. OutOfMemoryError가 발생하지 않아도 heapdump와 javacore를 받을 수 있는 방법도 있습니다. kill -3 pid 를 실행시키십시요. pid는 dump를 뜨고자 하는 WAS instance의 Process ID를 가리킵니다.
분석은 다음과 같은 방법을 이용하십시요.
1. heapdump 분석은 위 문서에서 제시하는 HeapRoots보다 HeapAnalyzer(http://alphaworks.ibm.com/tech/heapanalyzer)를 추천합니다. GUI 방식이라 편리합니다. 이용 방법은 Heap Analyzer를 설치하시면 같이 설치되는 문서에 들어있습니다. 사실 너무 간단하여 실행만 시키면 그 이후는 문서가 없이도 사용하실 수 있을 것입니다.
2. javacore 분석은 Thread Analyzer를 추천합니다. 이는 WAS에 포함된 툴이지만, GUI 툴이기 때문에 만일 X-windows를 사용할 수 없는 환경이거나, Windows에 설치된 WAS가 없다면, 다음 사이트에서 다운로드받아 사용할 수 있습니다. http://www14.software.ibm.com/webapp/download/preconfig.jsp?id=2003-02-06+11%3A06%3A52.953473R&S_TACT=104CBW71&S_CMP=&s= 만일, Windows환경에 WAS5 가 설치되어 있거나, X-Windows가 구동중이라면 다음과 같은 명령으로 Thread Analyzer를 구동시킬 수 있습니다. %> cd $WAS_HOME/bin %> tagui.sh Windows 환경에서는 %WAS_HOME%\bin 에서 tagui.cmd 를 실행시키면 됩니다. 이 또한 매우 간단하고 직관적인 툴이랍니다. |
'시스템 관리 > 인프라구조' 카테고리의 다른 글
[스크랩] 실전 DW 설계 - CDC vs ETL 차이 (0) | 2015.11.20 |
---|---|
[스크랩] WEB서버와 WAS (0) | 2014.06.12 |