리눅스(Linux)

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory failed; error='Cannot allocate memory' (errno=12) 에러 발생 시

leebaro 2018. 1. 4.
728x90


Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f16a8405000, 12288, 0) failed; error='Cannot allocate memory' (errno=12)


자바 런타임 환경에서 위와 같은 에러가 발생하는 원인은 메모리 부족 또는 스왑 공간이 부족해서 입니다.


해결 방법은 아래와 같습니다.



1. 메모리에 올라가는 데이터 사이즈 줄이기

2. 물리 메모리나 스왑 공간 늘리기

3. 스왑 공간이 다 찼는지 확인하기

4. 32비트 OS를 사용하면 64비트 OS 사용하기

5. 자바 heap size 줄이기

6. 자바 쓰레드 수 줄이기

7. 자바 쓰레드 스텍 사이즈 줄이기(-Xss)

8. -XX:ReservedCodeCacheSize= 옵션을 이용해 코드 캐시 사이즈 늘리기




제 경우에는 아래와 같은 자바 jar 파일 실행 시 heap size의 min과 max를 조정해서 해결 했습니다.


-Xms128m min(heap size)

-Xmx512m max(heap size)

-XX:MaxPermSize max(perm size)


728x90