JVM Heap 지정 후에도 OutOfMemoryError가 발생하는 이유

문제 요약 Pod에 10Gi 제한 설정 및 JVM에 -Xms4g -Xmx6g 설정을 했음에도 불구하고 heap 메모리 부족으로 OOM 발생 원인 분석 해결 방안 💡 일반적으로 다음 비율이 안전: Memory Limit 최대 Xmx 권장 값 (안전 범위) 10Gi -Xmx7g 또는 -Xmx8g 16Gi -Xmx12g 정도까지 20Gi -Xmx16g까지도 가능 🔧 추천 세팅 (10Gi 제한 더 읽기

Spring Batch 대용량 S3 파일 다운로드 중 OutOfMemoryError 분석

문제 요약 Tasklet 내에서 S3Client.downloadFile() 호출 중 내부적으로 Apache Commons IO의 IOUtils.toByteArray(InputStream) 사용이 대량 메모리를 점유하며 OOM 발생 원인 분석 개선 방안 이어서 확인할 문제 해결 글 S3 대용량 처리 OOM에서 JVM 외 메모리까지 진단에는 JVM Heap 지정 후에도 OutOfMemoryError가 발생하는 이유 글을 함께 참고하세요.

Spring Batch Tasklet에서 예외 발생 시 Slave 커넥션 반환 실패 원인 분석

문제 요약 Spring Batch Tasklet 내부에서 슬레이브(readOnly) DataSource를 통해 조회를 수행 중 예외 발생 시, PlatformTransactionManager의 rollback 처리 후 커넥션이 반환되지 않는 문제가 발생하였습니다. 원인 분석 개선 방안 또는 명시적 반환 방식: 예외 처리와 수동 반환 조건의 정정된 설명은 Spring Batch Tasklet 트랜잭션 내 개별 항목 실패 시 커넥션 누수 더 읽기