SORU
28 Mart 2014, Cuma


Bellek 300 GB için 64-bit JVM sınırlı?

RAM alanı 1 TB ile beni sağlayabilir küme bilgisayar ortamı (IBM LSF çalışan Otomotiv-6.2 Son sürüm) üzerinde Java uygulaması çalıştırmayı deniyorum.

Bundan daha fazlası (istenirse ayrıntıları, olabilir) ihtiyacım var, ancak en fazla bellek (Xmx) kadar 300 GB ile bir JVM oluşturmak olabilir.

Ancak, maksimum bellek 300 GB den fazla olan bir JVM oluşturmak için imkansız Xmx seçeneğini kullanarak gibi görünüyor. Daha spesifik olmak gerekirse, klasik hata mesajı alıyorum:

Hata VM başlatma sırasında bir hata oluştu.

Değil yedek nesne yığın için yeterli alan olabilir.

Benim ayrıntılarını (64-bit) JVM aşağıda:

Ortam (İcedTea6 1.10.6) (rhel-1.43.1.10.6.OpenJDK Zamanı el6_2-x86_64)

OpenJDK 64-Bit Server VM (20.0-b11, karma mod kurmak)

Ayrıca bir Java 7 64-bit JVM ile denedim ama aynı sorunu yaşadım.

Ayrıca, denedim oluşturmak için bir JVM için bir çalışma HelloWorld.jar ama hala JVM oluşturma başarısız olursa sormak için daha Xmx300G, o yüzden hiç sanmıyorum ilgisi belirli bir uygulama.


Herkes max bellek 300 gram daha fazla bir JVM oluşturmak veremem neden herhangi bir fikir var mı?

Herkes geçici bir çözüm önerebilir misiniz?

CEVAP
28 Mart 2014, Cuma


Olası açıklama var:

  • Sisteminizde diğer uygulamalar yok 300 GB değil orada o kadar çok bellek kullanıyorşu an müsait.

  • İşlem başına bellek boyutu üzerinde bir kaynak sınırına olabilir. Bu ulimit kullanarak kontrol edebilirsiniz. (this bug göre ise, her işlem için kaynak sınırı JVM yığın bölgelere ayırma durursa hata iletisini alırsınız unutmayın.)

  • Bu da mümkün olmadığı için bu "işlemek" sorun; örneğin, eğer uygulama çalıştıran bir sanal sistem olarak bir bütün olamaz karşılayacak talep yok çünkü çok fazla rekabet diğer sanal olanı.


Diğer fikirlerin bir çift (IMO) düşüktür

  • Bu TOTEM geçiş herhangi bir fark yaratmak mümkün değildir. Hiç veya belirli 64 bit Jvm'ler keyfi bellek sınırları duymadım görmedim.

  • Yeterli olmaması nedeniyle pek mümkün değildirbitişikbellek. Kesinlikle bitişik fiziksel bellek gerekli değildir. Tek olasılık swap cihaz üzerinde bitişik alanı olabilir, ama bu tipik bir Linux İşletim sistemleri için bir sorun olduğunu hatırlamıyorum.


Herkes geçici bir çözüm önerebilir misiniz?

  • ulimit kontrol edin.

  • 2 ** büyük miktarda bellek ve başarısız önce tahsis görmeye çalışan küçük bir C programı yazın.

  • Yardım için (veya hiper yönetici) sistem yöneticinize başvurun.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bokeh

    Bokeh

    9 HAZİRAN 2014
  • Film Riot

    Film Riot

    16 NİSAN 2006
  • TechSmartt

    TechSmartt

    29 Aralık 2010