16GB RAM이있는 Windows 7 랩톱이 있습니다. 그러나 여러 Java 서버를 실행할 때 OutOfMemory 오류가 발생하지만 Windows 작업 관리자는 6GB의 여유 실제 메모리가 남아 있음을 보여줍니다. 내 JVM은 실행중인 모든 Java 응용 프로그램에 대해 ~ 2GB 힙만 할당 할 수 있습니다. 64 비트 JVM 개체 힙에 충분한 공간을 예약 할 수 없습니다.
은 그래서 아주 간단한 자바 코드를 작성 :public class HelloWorld {
public static void main(String[] args) {
for(;;) System.out.println("Hello, World");
}
}
내 -jvm 버전 :
$ java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
JAVA_HOME "C : \ 프로그램 파일 \ 자바 \ jdk1.8.0_111는"
JRE_HOME "C : \ Program Files \ Java \ jre1.8.0_111"
나는 간단했습니다 java -Xmx256m -Xms256m HelloWorld
그리고 그게 wor
Error occurred during initialization of VM
Could not reserve enough space for object heap
여러 개의의 JDK를 시도했지만 그들 중 누구도 작동하지 않습니다 예상대로 나는 다음과 같은 얻을 java -Xmx2048m -Xms2048m HelloWorld
로 전환하지만 때, KED. 윈도우와 JVM은 모두 64 비트입니다.
이 문제를 해결하려면 어떻게해야합니까?
[VM 초기화 중 오류가 발생했습니다. 개체 힙에 "-Xmx3G"를 사용하여 충분한 공간을 확보 할 수 없습니다 (http://stackoverflow.com/questions/9303889/error-occurred-during-initialization-of-vm-could-not-reserve-enough-space-for). . 특별히,이 답변보기 http://stackoverflow.com/a/9304270/529630 – Dunes
스왑을 사용하도록 설정 했습니까? windows의 메모리 사용 통계는 Linux에 비해 다릅니다. – the8472