“VM 초기화 중에 오류가 발생했습니다. -Xmx3G를 사용하여 개체 힙을위한 충분한 공간을 예약 할 수 없습니다.
우선, 8GB의 램이 들어있는 상자가 있으므로 총 메모리가 문제가 아닌 것입니다. 이 응용 프로그램은 6GB 이하의 컴퓨터에서 잘 실행됩니다.
Eclipse에서 구성 실행의 "VM 인수"에서 -Xmx3G를 사용하여 3GB의 공간을 예약합니다.
1500MB 이상을 예약하려고 할 때마다 다음 오류가 표시됩니다. -Xmx3G를 사용하여 개체 힙을위한 충분한 공간을 예약 할 수 없습니다.
여기서 무슨 일이 일어나고 있습니까?
컴퓨터에서 32 비트 jvm을 사용하고있을 수 있습니까?
여기를 해결하는 방법은 다음과 함께 이동합니다. Start->Control Panel->System->Advanced(tab)->Environment Variables->System
Variables->New:
Variable name: _JAVA_OPTIONS
Variable value: -Xmx512M
Variable name: Path
Variable value: ;C:\Program Files\Java\jre6\bin;F:\JDK\bin;
이를 적절한 경로로 변경하십시오 .
이것은 실제로 Eclipse 고유의 문제가 아닙니다. 일반적인 Java-on-Windows 문제입니다. JVM이 Windows에서 메모리를 할당하는 방식 때문입니다. 할당 요청을 할당해야하는 메모리에 충분한 별도의 청크가 있더라도 종종 Windows가 제공 할 수없는 연속적인 청크를 할당해야한다고 주장합니다. Windows가 메모리를 "조각 모음"하는 데 도움이되는 유틸리티가 있으며, 이론적으로는 상황에 도움이됩니다. 하지만 본격적으로 시도하지 않기 때문에 효과에 말할 수 없습니다. 많은 도움이되기 전에 큰 메모리가 필요한 Java 앱을 시작하는 것입니다. 운이 좋다면 Windows는 아직 메모리 공간을 조각화하지 않아서 Java는 요청하는 연속 블록을 얻습니다.
인터 웹 어딘가에이 문제에 대한 더 많은 자료가 없습니다.
그래도 도움이되는 것을 찾았습니다. https://stackoverflow.com/a/497757/639520
먼저 32 비트의 JRE는 ~ 1.5Gb의 램을 더 많이 사용할 수 없습니다. 64 비트 JRE를 사용하십시오.
둘째, 새 JVM이 시작될 때 실행중인 모든 JVM의 -Xmx 속성을 합산하고 시스템에 자체 -Xmx에서 메모리가 충분한 지 확인합니다. 충분하지 않은 발생 오류가 발생합니다.
Eclipse IDE에서 Tomcat 서버와 함께 Liferay를 사용하고 있습니다. 서버 시작을 클릭하면 동일한 오류가 발생했습니다. eclipse에서 서버를 두 번 클릭하십시오. 서버 개요 페이지가 검색. -Xmx1024m -XX : MaxPermSize = 256m에서 -Xmx512m -XX : MaxPermSize = 256m으로 메모리 인수를 업데이트했습니다. 그런 다음 그것은 나를 위해 일했습니다.
Eclipse가 실제로 실행 중이라고 생각하는 것과 동일한 JVM을 실행하고 있는지 확인하십시오. 웹 브라우저에서 Java를 사용하는 경우, 최근에 설치하거나 업데이트 한 경우 우선 순위가 될 수있는 32 비트 버전도 있습니다.
확실하게하기 위해 eclipse.ini
파일 상단에 다음 두 줄을 추가하는 것이 좋습니다.
-vm
C:/Java/jdk1.6.0_27/bin
... 내 컴퓨터 C:/Java/jdk1.6.0_27/bin
에서 내가 아는 JVM이 64 비트 인 곳. bin
거기 에 폴더가 있는지 확인하십시오 .
(보너스로, Windows 7에서는 "탭을 고정"할 수 있습니다. 이것이 직접 사용하기 위해 작업을 수행해야하는 이유입니다.)
이것은 힙 크기 문제입니다. .bat
(배치 파일)을 편집합니다 . 힙 크기 1024가 표시 될 수 있습니다. 512로 변경하면 작동합니다.
32 비트 Eclipse와 64 비트 JVM을 사용하는 동안에도 동일한 문제가 발생했습니다. Eclipse를 32 비트 JVM으로 라우팅했을 때 작동했습니다.
어쨌든 잘못된 옵션을 시도하고있을 것입니다. 오류 로그 지원과 오류가 발생했습니다.
Java HotSpot(TM) Client VM warning: ignoring option PermSize=32M; support was removed in 8.0
Java HotSpot(TM) Client VM warning: ignoring option MaxPermSize=128M; support was removed in 8.0
내 경우에는 Java 8을 지원하지 않습니다. (제공하는 이전 JVM을 사용하고 있었음) 기본적으로 Java 8을 사용했습니다.
이 문제의 원인 중 하나는 Tomcat을 시작하는 데 사용할 수있는 메모리가 없기 때문입니다. Windows에서 시작하는 실행중인 소프트웨어를 삭제하고 eclipse와 tomcat을 다시 시작합니다.
'ProgramingTip' 카테고리의 다른 글
Intel X86 에뮬레이터 설치 프로그램 (HAXM 설치 프로그램) VT / NX가 활성화되지 않음 (0) | 2020.10.11 |
---|---|
jsonSchema 속성이 조건부 필요 (0) | 2020.10.11 |
실제 Retina 앰퍼없이 Windows에서 Retina 용 웹 사이트를 테스트하는 방법은 무엇입니까? (0) | 2020.10.11 |
ArrayList에서 항목의 고급를 찾는 더 좋은 방법은 무엇입니까? (0) | 2020.10.11 |
NoSuchFieldError : 클래스 Lcom / disdemo / R $ id에 유형 I의 정적 필드 listView1이 없습니다. (0) | 2020.10.11 |