728x90
분석 방법
IBM HeapAnalyzer 다운로드
https://www.ibm.com/support/pages/ibm-heapanalyzer
IBM HeapAnalyzer
www.ibm.com
heapDump 옵션 추가
heapDump를 생성하고 싶은 jar에 아래 옵션 추가해서 서비스 재시작
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/{YOUR_DIRECTORY}/heapdump.hprof
-XX:+CrashOnOutOfMemoryError
HeapAnalyzer 실행
HeapAnalyzer 실행 및 생성된 heapdump 로딩 (heapdump 사이즈가 클 수록 로딩 시간 오래 걸림)
java -Xmx2g -jar {HeapAnalyzer}.jar
분석
- heapDump 로딩 및 %가 높은 클래스 확인
- 문제가 되는 클래스 확인 및 원인 추정
예시
OOM 발생
heapDump 확인
문제가 되는 클래스 특정하고 애플리케이션 로직 상의 문제점을 파악
분석 예시
1. SendToProxyBatchCore의 RequestQueue에서 대부분의 메모리를 사용함
2. LambdaProxy → Proxy로의 RequestQueue에서 병목으로 추정
3. 애플리케이션 로직 개선, RequestQueue 사이즈 증가 등
728x90
'MONITORING > Troubleshooting' 카테고리의 다른 글
PessimisticLockException 원인 파악하고 해결하기 (0) | 2024.01.20 |
---|---|
문제의 원인은 집 밖에 있었다 (0) | 2023.09.19 |