Eclipse에서 Java Runtime Environment를 계속하기 위한 메모리가 부족합니다.
오늘은 Java Runtime Environment를 계속 실행하기에 메모리가 부족합니다
라는 오류에 대해 알아보겠습니다. 또한 이에 대한 가능한 이유를 찾아 솔루션으로 안내할 것입니다.
오류 설명 및 원인
Eclipse IDE를 사용하여 실행하려는 간단한 Java 프로그램이 있습니다. 프로그램을 실행하자마자 Java Runtime Environment를 계속할 메모리가 부족합니다
라는 오류가 발생합니다.
4GB RAM의 개인용 컴퓨터가 있다는 점도 중요합니다. 우리는 C 드라이브에 약 20GB의 빈 디스크 공간이 있는 코어 i3 프로세서와 함께 Windows 8을 사용하고 있습니다.
또한 JRE(Java Runtime Environment) 버전을 1.7에서 1.8로 변경했지만 문제가 해결되지 않은 것 같습니다.
이 오류는 무엇을 의미합니까? 두 종류의 메모리 부족
오류가 있음을 기억하십시오.
첫 번째 오류는 Java 프로그램이 실행 중이고 Java 힙이 그다지 크지 않을 때 발생하는 OutOfMemoryException
입니다. 이는 Java 프로그램이 Java 런타임에 추가 메모리를 요청함을 의미합니다.
-Xmx...
로 고칠 수 있습니다.
우리가 직면한 오류는 Java 런타임의 메모리가 부족할 때 발생하는 두 번째 유형에 속합니다. Java가 추가 메모리를 위해 운영 체제를 요구하고 운영 체제가 미안하다고 말하면 더 이상 메모리가 없습니다.
다음은 몇 가지 이유입니다.
- 이 오류는 Java와 관련된 오류가 아니며 Java 옵션을 업데이트할 필요가 없습니다. 이 오류는 컴퓨터에서 여러 프로그램을 실행 중이므로 단일 프로그램을 실행할 메모리가 남아 있지 않음을 의미합니다.
- 메모리를 모두 소모하는 프로그램을 실행하고 있을 가능성이 있습니다.
작업 관리자
는 해당 프로그램을 찾는 데 유용합니다. - 시스템에 스왑 공간이나 물리적 RAM이 부족할 수 있습니다.
- 또 다른 가능성은
CompressedOops
가 활성화된 상태에서 프로세스가 실행 중이고 Java 힙이 기본 힙의 성장을 차단하고 있을 수 있다는 것입니다.
수정 가능한 해결책 Java Runtime Environment를 계속 실행하기에 메모리가 부족합니다
오류
JVM 프로세스의 메모리 부족에 대한 많은 가능성이 있습니다. 우리의 견해로는 프로세스에 대한 현재 제한 사항을 갖고자 하는 경우 아래 나열된 가능성이 가장 유망합니다.
-
-Xmx/-Xms
를 사용하여 Java 힙 크기를 줄입니다.eclipse.ini
파일에는-Xmx1024m
과 같은 라인이 있으며 이를 대체할 수 있습니다(예:-Xmx640m
).다양한 옵션을 시도하여 요구 사항에 충분한 최대 힙 크기를 찾을 수 있습니다.
-Xms
는-Xmx
보다 작아야 합니다. -
64비트 시스템이라면 Eclipse 64비트와 Eclipse OpenJ9를 사용할 수 있습니다. 이 솔루션은
OpenJ9
가 메모리 소비를 고려할 때 더 효율적이기 때문에 64비트 시스템만 있는 경우에 제안됩니다. 이와 관련하여 조정할 수도 있습니다. -
작업 표시줄의
검색
옵션을 사용하여작업 관리자
를 입력하고 사용 가능한 RAM 용량을 확인합니다. 왜 확인하고 있습니까?메모리를 모두 잡아먹는 프로그램을 실행하고 있을 가능성이 있기 때문에 이를 찾아서 죽여야 합니다.
-
모든 응용 프로그램을 닫거나 시스템을 재부팅하여 메모리 조각화를 정리합니다.