2012-10-15 32 views
5

Ssh kullanarak linux tabanlı bir sunucuya bağlandım. Son zamanlarda, yükledim JDK kullanarak aşağıdaki komutu:Nasıl giderilir VM 'java başlatılırken hata oluştu?

sudo yum install java-1.6.0-openjdk-devel

Ve jdk başarıyla yükledim ancak komut java veya javac her çalıştırdığınızda aşağıdaki hatayı alıyorum: komutunu java -version çalışan Hatta

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

, bu hatayı getirecek.

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

Bunu nasıl çözebilirsiniz: Java'nın java -Xmx512m -Xms256m -version kullanarak daha fazla yer vermeye çalıştığımda, hata aşağıdaki alırsınız? Eğer JDK 32 bit sürümünü kullanıyor gibi

+0

hangi java'nın çalıştığını görmek için hangi java'yı deneyin? Muhtemelen doğru olanlara koşmuyor mu? veya java'yı bin dizininden doğrudan yürütmek mi? –

+2

Bellekte sınırlar ayarladınız mı? Ne tür bir linux? RHEL, Fedora? 'uname -a' çalıştırın ve soruna çıktı ekleyin. Ve '$ ulimit -a' da yararlı olacaktır – user1516873

+0

Bu glibc mesaj hakkında endişe duyuyorum ... – Shark

cevap

2

Bu tür bir özel durumu hiç görmedim, bu yüzden en iyi tahminim: stack size by using -Xss JVM parameter'u sınırlandırmayı denediniz mi (örn. -Xms8m -Xmx16m -Xss4m)? Ayrıca, hızlı gezinme, export MALLOC_CHECK_=0'un devralmanıza izin verebileceğini düşündürür, ancak JVM'nin iyi çalışıp çalışmadığından emin değilim.

-1

görünüyor önceden

teşekkürler. Öyleyse, 1.2GB'dan daha büyük bir Yığın boyutu atayamazsınız.

64 bit JDK kullanın ya da maksimum yığın boyutu olarak 1.2G ile deneyin.

+0

Ama ben 1.2GB fazla yığın kullanmıyorum, -Xmx512m kullandım, bu da 512MB yığınını maks. –

1

Sanal bir Linux sunucusu mu? çalıştırdığınızda alabilirim Ne:

java -Xmx1m -version

ve

Ulimit -a

sorunu ayrılmasının belleğe benziyor. Mümkünse takas alanını artırmayı deneyebilirsiniz.

1

Bana göre, sanal makineyi çalıştırmak için yeterli bellek yok gibi görünüyor (belki fiziksel bellek, sanal bellek veya ulimit) - VM'ye ayrılan belleği azaltmayı denemelisiniz (varsayılan değer 64Mb'de olduğunu düşünüyorum) ve değil arttırıyor.

+0

java -Xmx3000m -Xms3000m VM'nin başlatılması sırasında hata oluştu Nesne yığını için yeterli alan ayrılamadı Hata: Java Sanal Makinesi oluşturulamadı. Daha büyük değerler bile VM'ye çarpıyor – thedayofcondor

0

Örneğin -Xms'inizi (xmx değil) .Use -Xms40m'yi kullanın. Diğer yanıtlarda belirtildiği gibi başlarsa, başlangıçta vm için 256m'yi geri almak için bellekte çok düşük olabilirsiniz.

İlgili konular