출처: 1883568-How to self analyze a Heap Dump using MAT
https://eclipse.dev/mat/ 에서 Memory Analyzer 1.15.0 Release 다운로드
처음 실행 할때 아래와 같은 메시지가 확인되면 실행 안됨
Version 1.8_201 of the JVM is not suiable for this product. Version: 17 or greater is required
현재 내 컴퓨터에 설치된 JVM버전은 맞지 않은것 같음
툴을 설치한 폴더안에 MemoryAnalyzer.ini 파일내용을 수정하여 해결할수 있다고 하는데
-Dosgi.requiredJavaVersion=1.8을 추가
추가 후 실행해보면 로딩 로고가 나오지만 안됨
An error has occurred. See the log file [로그파일경로]/1710314750556.log
어느 사이트에서는 .ini파일내용에 javaw.exe 자바를 실행하는 가상머신 경로가 없어서 그런다고 하여 추가해봄
-vm
[JDK설치경로]/bin/javaw.exe
동일함
1.13버젼에서는 Version: 11이 필요하다고 하는데 1.10에서는 실행이 됨
이클립스외에 MAT관련 SAP확장패키지 설치
위 노츠에 첨부된 파일 두개를 다운로드하여 features,plugins를 MAT에 추가('왜 필요한지 모르겠음')
Heap Dump 다운로드
SAP PO의 NWA > Troubleshooting > Advanced Troubleshooting > Heap Dump Analysis에서 다운로드 가능하고 BC통해 요청해서 PO디렉토리안에서 받아도 되는데 NWDS폴더에 HeapDumpSample.hprof 파일이 존재하여 이걸로 테스트
Eclipse Memory Analyzer > Open Heap Dump... 에서 .hprof파일 불러오기
힙덤프파일을 불러오면 관련 파일들이 여러개 생성됨 그리고 아래 메뉴 확인됨
Leak Suspects Report → 힙 덤프에서 누수 의심항목을 자동으로 확인
- Overview: 덤프크기,클래스와 객체 및 클래스 로더 수가 표시
- Histogram: 클래스별 인스턴스 수를 나열
- Shallow Heap는 오브젝트가 단독으로 차지 하는 메모리
- Retained heap는 해당 오브젝트 연결된 모든 객체 포함한 메모리 점유량
- Dominator Tree: 가장 큰 개체와 그 유지하는 항목을 나열
- 힘 덤프에서 가장 큰 객체를 표시
- Top Consumers: 큰 객체를 클래스별 및 패키지별로 그룹화
- Duplicate Classes: 여러 클래스 로더가 로드한 클래스 감지
- Leak Suspects: 누수되는 항목에 대한 개요
- Top Components: 전체 힙의 1%보다 큰 컴포넌트 나열
Component Report → 메모리 문제 의심되는 오브젝트 집합을 분석
Re-open previously run reports → 기존 보고서 저장
"솔직히 봐도 잘 모르겠음"
댓글 없음:
댓글 쓰기