본문 바로가기
CICD

[에러] Out of memory Error: java heap space

by 순원이 2024. 9. 5.

에러원인:  Out of memory Error / java heap space

 

//컨테이너 메모리 사용량 보기
docker stats <container-id>

 

위 명령어로 컨테이너 메모리 사용량을 모니터링했습니다. MEM USAGE / LIMIT 열 부분을 확인해 보면 1/2이나 메모리 공간이 남은 것을 알 수 있습니다. 그러면 log파일이 커져서 문제가 된건 아니구나를 다시 한 번 알 수 있습니다. 

 

사전 지식

JVM은 기본적으로 Heap 크기를 최소 1/64로 설정합니다. 그래서 만약 heap space를 늘려주고 싶다면 dockerfile이나 도커 명령어를 사용하여 

 

해결법

여기서 -Xmx는 최대 힙 메모리 크기를, -Xms는 초기 힙 메모리 크기를 설정합니다. 예를 들어, -Xmx512m는 최대 512MB의 힙 메모리를 JVM에 할당하는 것입니다.

// dockerfile의 ENTRYPOINT 부분을 아래와 같이 수정
ENTRYPOINT ["java", "-Xmx512m", "-Xms512m", "-jar", "-Dspring.profiles.active=production", "project.jar"]

 

//먼저, 수정된 server 컨테이너의 이미지를 다시 빌드합니다:

Copydocker-compose build server

//그 다음, server 컨테이너만 중지하고 제거한 후 다시 시작합니다:

Copydocker-compose up -d --no-deps --build server

'CICD' 카테고리의 다른 글

nginx 설치 및 포트바인딩  (0) 2024.10.24
백엔드 서버 모니터링 도입(AWS CloudWatch)  (0) 2024.09.09
컨테이너 로그 초기화  (0) 2024.09.05
리눅스 Ec2 mysql 명령어 모음  (0) 2024.02.06
리눅스 Ec2에 Redis6 설치  (0) 2024.01.27