사용 가능한 메모리가 많지만 Java가 시작되지 않습니다(SunOS 5.10).

사용 가능한 메모리가 많지만 Java가 시작되지 않습니다(SunOS 5.10).

가상 머신 상태다음을 제공합니다:

swap        free
37489684    110178592

실행하려고 할 때 여전히 문제가 발생합니다.자바10g 힙 프로세스:

> java -Xmx10g -Xms10g -d64 HelloWorldApp

Error occurred during initialization of VM
Could not reserve enough space for object heap

왜 이런 일이 발생하며 어떻게 해결합니까?

고쳐 쓰다.산출ulimit -a:

core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
file size               (blocks, -f) unlimited
open files                      (-n) 256
pipe size            (512 bytes, -p) 10
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 25525
virtual memory          (kbytes, -v) unlimited

답변1

여유 RAM이 있어도 스왑 공간이 부족할 수 있습니다. 나는 이것이 당신이 겪고 있는 것일 수도 있다고 믿습니다. 조사하고 swap -s.

다시 생각해보면 문제는 사실이 충분하지 않기 때문일 수도 있습니다.계속해서메모리를 사용할 수 있지만 운영 체제가 사용 가능한 10GB의 연속 메모리를 찾을 수 없는 경우(사용 가능한 메모리가 100GB를 초과하는 것으로 보이는 경우) 다소 이상해 보입니다.

답변2

스왑 영역이 매우 작습니다. 사용 가능하다고 보고된 RAM의 상당 부분은 다른 프로그램 메모리 예약을 위한 백업 저장소 역할을 하기 때문에 현재 실제로 사용할 수 없습니다. 스왑을 추가하기만 하면 간단한 파일이 될 수 있으며 JVM을 시작할 수 있습니다.

답변3

다음을 사용해 보세요:

java -Xms512m -Xmx512m -d64 HelloWorldApp

또는

java -Xms1024m -Xmx1024m -d64 HelloWorldApp

너무 높기 때문일 수도 있습니다.

관련 정보