본문 바로가기
개발 지식

서버 java.lang.OutOfMemoryError: Java heap space

by meetyou 2025. 4. 10.

힙 메모리 부족이 원인

힙 메모리 증설 전 힙메모리 확인 방법

 

리눅스 서버 기준

ps -ef | grep java 로 하면 java로 실행중인 프로젝트가 여러개가 주르륵 나타남.

이를 통해 PID 를 찾아올수 있다.

 

UID       PID       PPID   C  STIME   TTY         TIME     CMD

user      11111          1     0    12:12      ?         00:00:00   -Xmx64M java-application.jar

 

UID : 프로세스를 실행한 사용자

PID : 프로세스 ID

PPID : 부모 프로세스 ID

C : CPU 사용률

STIME : 프로세스 시작 시간

TTY : 터미널 타입

TIME : CPU 시간

CMD : 실행된 명령어

 

대충 요런식으로 나오는데

CMD에 보면 -Xmx64M 이런 내용이 나오는데

해당 정보가 heap메모리 정보다 현재 힙메모리가 64M이라는것

 

왜 heap 메모리가 부족하게 됐는지 원인을 파악해서

필요한만큼 증설을 하되, 서버 메모리가 충분한지 확인하고 증설해야한다.

만약 서버 물리 메모리가 충분하지 않다면, 시스템이 느려지거나, 다른 프로세스에 영향을 줄수있기 때문에,

확인해보고 같이 증설하거나, 서버 메모리가 충분하다면 힙 메모리만 늘려도 좋다.

 

jar 파일을 실행할떄 실행옵션을 줘서 메모리를 설정해줄수있음

 

java -jar -Xmx512M -Xmx128M java-application.jar