2012-10-15 11 views
5

ssh를 사용하여 Linux 기반 서버에 연결했습니다. 최근, 내가 설치 한 JDK 사용하여 다음 명령을'VM'java 초기화 중 오류가 발생했습니다.

sudo yum install java-1.6.0-openjdk-devel

그리고 JDK가 성공적으로 설치,하지만 난 명령 java 또는 javac를 실행할 때마다 나는 다음과 같은 오류 얻을 : 명령 java -version을 실행, 심지어

Error occurred during initialization of VM 
Could not reserve enough space for object heap 
Could not create the Java virtual machine. 

을 , 그 오류가 나타납니다.

*** glibc detected *** java: double free or corruption (!prev): 0x00007fc84400e270 *** 
*** glibc detected *** java: double free or corruption (fasttop): 0x00007fc8440089f0 *** 
# 
Aborted (core dumped) 

가 어떻게이 문제를 해결 할 수 있습니다 : 나는 자바를 java -Xmx512m -Xms256m -version를 사용하여 더 많은 공간을 제공 할 때, 나는 오류 다음거야? 당신이 JDK 32 비트 버전을 사용하는 것처럼

+0

'어떤 java가 실행 중인지 확인하려면'java '를 시도 하시겠습니까? 아마도 올바른 것이 아니겠습니까? bin 디렉토리에서 java를 직접 실행 하시겠습니까? –

+2

메모리에 제한을 설정 했습니까? 어떤 종류의 리눅스? RHEL, Fedora? '$ uname -a'를 실행하고 결과를 질문에 추가하십시오. '$ ulimit -a'도 도움이 될 것입니다. – user1516873

+0

glibc 메시지가 걱정됩니다 ... – Shark

답변

2

이런 종류의 예외는 본 적이 없으므로 최선의 추측입니다. stack size by using -Xss JVM parameter (예 : -Xms8m -Xmx16m -Xss4m)을 제한하려고 했습니까? 또한 빠른 인터넷 검색은 아마도 export MALLOC_CHECK_=0이 당신이 넘어갈 수 있음을 암시하지만 JVM이 잘 작동하는지 확신 할 수 없습니다.

-1

이 보이는 미리

감사합니다. 그렇다면 1.2GB 또는 그 이상의 힙 크기를 할당 할 수 없습니다.

64 비트 JDK를 사용하거나 1.2G을 최대 힙 크기로 사용하십시오.

+0

하지만 1.2GB 이상의 힙을 사용하지는 않습니다. -Xmx512m을 사용 했으므로 최대 512MB 힙을 사용합니다. –

1

가상 Linux 서버입니까? 실행할 때 어떻게해야합니까 무엇 :

자바 -Xmx1m -version

ulimit를 -a

이 문제를 할당 메모리처럼 보인다. 가능한 경우 스왑 공간을 늘리려고 할 수 있습니다.

1

가상 머신 (실제 메모리, 가상 메모리 또는 ulimit)을 실행하는 데 충분한 메모리가없는 것처럼 보입니다. VM에 할당 된 메모리를 줄여야합니다 (64MB의 기본 메모리라고 생각합니다). 그것을 증가 시키십시오.

+0

java -Xmx3000m -Xms3000m VM 초기화 중에 오류가 발생했습니다. 오브젝트 힙에 충분한 공간을 확보 할 수 없습니다. 오류 : Java 가상 시스템을 작성할 수 없습니다. 큰 값으로 설정하면 VM이 손상됩니다. – thedayofcondor

0

-Xms (xmx 아님)를 낮 춥니 다. 예를 들어 -Xms40m을 사용하십시오. 다른 대답에서 설명한대로 시작하면 메모리가 너무 낮아서 시작할 때 vm을 다시 확보 할 수 없습니다.

관련 문제