2009-05-26 19 views
16

kaçınmak aşağıdaki komutla bir Java kodu çalıştırın.İlk Bellek Öbek Boyut Hatası

Ancak bu her zaman bana bu hata mesajı vererek yürütmek için başarısız: Biz kodu çalıştırmak, böylece Java seçeneği kurmak için herhangi bir yolu

Invalid initial heap size: -Xms5G 
The specified size exceeds the maximum representable size. 
Could not create the Java virtual machine 

var mı?

+0

Hangi JVM kullanıyorsunuz? –

+0

@roland: jdk1.6.0_14/bin/java – neversaint

+4

64 bit JVM'yi çalıştırdığınızdan emin misiniz? Bu kadar bellek 32 bitte ele alınamaz. – diciu

cevap

15

JVM'nizin maksimum yığın boyutunu aştınız. Bu hem JVM hem de işletim sistemine bağlıdır. Çoğu 32 bit sistemde, mevcut fiziksel bellek ne olursa olsun maksimum değer 2Gb olacaktır.

+3

Windows 32-bit'te limit 1.3 GB'ye yakın –

+0

Hata alıyorum In Geçersiz başlangıç ​​yığını boyutu: -Xms256m -Xmx512m 16GB RAM'li bir sistemde (14GB boş) –

3

Aslında, 32 bit sistemlerde maksimum bellek boyutu, 4 GB'ye kadar olan herhangi bir şey olmak üzere değişebilir, ancak 2 GB, ortak bir değerdir. Çekirdeğinizi tekrar 3 veya 3,5 GB'ye yükseltmek için tekrar bağlamak mümkündür. Sorun, tabi ki, daha fazla belleği eşlemek için adres alanınız yok. 64 bitlik bir makine denediniz mi?

Ayrıca, bunu yapmadan önce ulimitinizi daha yüksek tutmayı unutmayın.

9

Varsayılan olarak, Java 32 bit modunda çalışır. 64 bit moduna koymak için -d64 seçeneğini verdiğinizden emin olun. Bir kez 64-bit modunda, bir 6GB JVM tahsis herhangi bir sorun olmamalıdır.

+2

Bunun anlamı 64 bit JVM de çalışır varsayılan olarak 32 bit modunda? – Pacerier

+0

Sorunum, bir Java (TM) SE Çalıştırma Ortamı (build 1.6.0_21-b06) java ile Solaris Sparc 64bit'deki bu -d64 parametresiyle çözüldü. Teşekkürler –