java.lang.OutOfMemoryError: Java heap space 오류는 JVM 힙 메모리가 부족해 객체를 할당하지 못할 때 발생합니다. 먼저 JVM 실행 옵션에서 -Xms512m -Xmx4g를 설정해 최대 힙 크기를 늘리되, 서버의 가용 RAM과 애플리케이션 요구 사항을 고려해야 합니다.
반복적인 오류를 진단하려면 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=C:\JavaDumps 옵션을 추가해 오류 발생 시 힙 덤프를 생성하고, Eclipse MAT로 메모리를 과도하게 점유하는 객체와 메모리 누수를 분석하세요. jcmd <PID> GC.heap_info 및 jstat -gcutil <PID> 1000 명령으로 힙 사용량과 가비지 컬렉션 이후의 메모리 상태도 확인할 수 있습니다.
힙 크기를 늘려도 문제가 재발한다면 전체 데이터를 한꺼번에 메모리에 적재하는 구조인지 확인하고, 배치 크기를 줄이거나 스트리밍 방식으로 처리하는 것을 권장합니다.
Domic Vo.