/ / Beziehung zwischen RAM-Größe und virtuellem Speicher mit JVM-Heap-Größe - Speicherverwaltung, Betriebssystem, JVM, RAM, Heap-Speicher

Beziehung zwischen RAM-Größe und virtuellem Speicher mit JVM-Heap-Größe - Speicherverwaltung, Betriebssystem, JVM, RAM, Heap-Speicher

Für Leistungstests brauche ich 2 GB HeapSpeicher, also setze ich den Parameter in Java-Einstellung über "-Xmx2048m" und auch den virtuellen Speicher erhöhen ... aber beim Ausführen der Anwendung gibt es Fehler wie "die Java-Laufzeitumgebung kann nicht geladen werden" und "Mehrere JVM das Ausführen desselben Prozesses verursachte einen Fehler "(in der Tat gibt es keinen Fehler für mehr als 1 GB). Ist es möglich, den Heap-Speicher auf 2 GB zu setzen? oder es kann nur maximal 1 GB sein? Wenn ja, wie? Ich benutze Windows 7, 64 Bit mit einer RAM-Größe von 8 GB und Java 1.6

Antworten:

0 für die Antwort № 1

Da Sie eine 32-Bit-JVM ausführen, gibt es eineBeschränken Sie, wie viel Speicher der Prozess verwenden kann. Aufgrund der Art und Weise, wie virtueller Speicher angelegt wird, können 32-Bit-Prozesse nur auf 2 GB Speicher zugreifen (oder bis zu 3-4 GB mit speziellen Einstellungen). Da Java etwas Speicher für seine eigene Buchhaltung benötigt, die nicht Teil des Heapspeichers ist, der für Ihre Anwendung verfügbar ist, ist das tatsächliche Limit für -Xmx muss irgendwo unter 2 GB liegen. Gemäß diese Antwort, ist die Grenze für 32-Bit-Java unter Windows -Xmx1500m (Ich bin mir nicht sicher, ob es sich in neueren Versionen geändert hat, aber aufgrund der oben beschriebenen Einschränkungen muss es unter 2 GB liegen, so dass es wahrscheinlich bei 1500 MB geblieben ist).