Wie richten Sie eine wirklich große JVM-heap-Größe?
Entsprechend der JVM-6-Dokumentation der server-Klasse Maschinen erhalten standardmäßig eine anfängliche heap-Größe 1/4-RAM oder 1GB. In Anbetracht unserer Solaris 64Bit server hat 64 GB, ist die anfängliche heap-Größe wird standardmäßig als 256MB. Daher muss ich manuell die heap-Größe mit dem XMX parameter für 4GB. Obwohl, wenn ich hinzufügen "-Xmx4096M", Tomcat nicht starten. Hier ist die Fehlermeldung:
Invalid maximum heap size: -Xmx4096M
The specified size exceeds the maximum representable size.
Could not create the Java virtual machine.
Was sollte meine command-line-Parameter zulassen, dass meine Haufen zu wachsen bis zu 4GB?
- Welches Betriebssystem verwenden Sie? Einige ältere Betriebssysteme nicht erlauben, Prozesse zu haben, die mehr als 2 Gig.
- Solaris (die ich gerade aktualisiert, bei der vorherigen Frage)
- sind Sie mit einer 64-bit-jvm?
- java -version gibt mir: java version "1.6.0_16" / Java(TM) SE Runtime Environment (build 1.6.0_16-b01) / Java HotSpot(TM) Server VM (build 14.2-b01, mixed mode). Wie kann ich herausfinden, ob meine VM ist gebaut für 64 bit?
- Ihre Antwort sollte sein: java version "X" Java(TM) SE Runtime Environment (build X) Java HotSpot(TM) 64-Bit Server VM (build Y, mixed mode)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vielen Dank für all euren input, Jungs! Obwohl, die Ausgabe von meinem
java -version
erwähntmixed mode
was bedeutet, dass es 64 bit. Die wirkliche Lösung ist das hinzufügen-d64
zu zwingen, und es laufen in 64 bit und daher ordnen die 4GBs.Meine Lösung, basierend auf den Kommentaren auf die Frage: Sie sind mit 32-bit-JVM kann daher nicht um mehr als 4 GB (nicht inklusive). Installieren Sie die 64-bit-version
Entsprechend der Ausgabe des
java -version
eine 32-bit-JVM installiert ist. Wenn es ein 64bit ist, sollten Sie etwas wieJava HotSpot(TM) 64-Bit Server VM
.Installieren Sie ein 64-bit-JVM und es löst Ihr Problem.
Verwenden Sie -Xmx1024M -XX:MaxPermSize=256M