728x90
반응형
OOM, GC
- 스프링 빈은 GC 대상이 되지 않는다.
- Collection 타입의 변수를 static으로 설정 후 프로그래밍 로직상 제거해주는 로직이 없다면 JVM Heap Memory가 계속 쌓이면서 에러가 날 수 있다.
JVM
- JVM Heap Dump를 뜨는 방법이 있고, AWS S3에 쌓을 수 있다.
- JVM Heap Dump를 분석하는 도구들이 있다. eclipse의 Memory Analyzer 활용
- Heap Dump 파일을 업로드하면 메모리를 많이 사용한 변수들을 순위 별로 잡아내준다.
정적 분석 도구로 pmd 같은 것들을 적용하면 ci flow에 적용하여 미리 OOM이 날 수 있는 부분들을 체크해볼 수 있다.
- Pod 로드 시 JVM Option상 -XX DirectMemory 지정값은 통상 Xmx 값의 1/10으로 잡는다.
728x90
반응형
'Programming-[Backend] > Spring' 카테고리의 다른 글
[TIL] ResponseEntity<?>, inner class File name too Long (0) | 2024.12.15 |
---|---|
[TIL] spring WebFlux, WebClient - 비동기 polling (0) | 2024.11.19 |
[탐험][자바 스프링 Http 통신하기] 1. URL Connection (0) | 2022.06.01 |
[TIL] 스프링 트랜잭션 따로 적용 하기 (REQUIRES_NEW), 클래스 분리 필요 (0) | 2022.05.21 |
[TIL]PageableDefault는 non-deterministic sort를 한다 (0) | 2022.04.04 |