Maximaler RAM

Status
Nicht offen für weitere Antworten.
Guten Morgen!

Bei einem 32 Bit-System kann einer VM (soweit ich informiert bin) maximal 1,5 GB RAM zugeordnet werden. Wie schaut das bei einem 64 Bit-System aus?

Danke!
 

Noctarius

Top Contributor
Begrenzt durch freien Arbeitsspaeicher - einige MB (später GB) für die Verwaltung des RAM durch die VM und den GarbageCollector
 
Kannst du bei einem 32-bit System genauso. Du hast eben nur maximal weniger zur Verfügung.
32-bit: 2^32=4GB maximal (wenn sonst nix abgezogen wird)
64-bit: 2^64= mehr :p

Halte ich für ein Gerücht:

Code:
C:\>java -Xms2048m -Xmx2050m Test
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

Bei 2,5 GB freiem RAM
 

Noctarius

Top Contributor
32-bit: 2^32=4GB maximal (wenn sonst nix abgezogen wird)

Grundsätzlich ja, aber ein 32Bit Betriebssystem kann nur in Verbindung mit richtigem Board / BIOS auch 4 GB ansprechen (bei älteren Kombinationen fällt auch Shadow-RAM, BIOS usw in die 3 Gig).

Weiterhin kann z.B. Windows auf 32Bit max 3 GB RAM für einen Prozess reservieren (mehr hätte auch nicht Sinn, weil das Betriebssystem selbst auch Speicher benötigt). Ausnahmen sind die die 32Bit Serverbetriebssysteme von Windows (in den teuren Varianten), da diese mit Paging bis zu 32 GB RAM adressieren können.

Er hat Recht. Unter 32Bit Windows oder unter Windows x64 und Java 32Bit ist bei 1,6irgendwas GB Schluss. Wieso dieses seltsame Limit existiert ist mir auch nicht klar. Ich vermute Reservierung von Speicher zur Verwaltung der VM.
 

tme

Aktives Mitglied
Code:
C:\>java -Xms2048m -Xmx2050m Test
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

Bei 2,5 GB freiem RAM

Das ist eine von den Sachen, die mich auch irritieren. Bei 2.8GB freiem Arbeitsspeicher (laut Taskmanager) kann ich -Xmx kaum jemals höher als ca. 1680m setzen. Alles darüber wird mit der oben angegebenen Fehlermeldung beendet.

Hat jemand eine Idee, wodurch sich das so stark minimiert?
 
M

maki

Gast
Das ist dann aber wohl kein reiner RAM (sondern mit Zugriff auf Platte oder so) oder?
Natürlich "reiner RAM", wieso denn auch nicht?

Und ich hab ja oben geschrieben maximal 4GB... dass das OS mir die nicht alle gibt ist mir auch klar
Deine Antwort hat leider nicht auf die Frage gepasst ;)
Es ging nicht darum wieviel RAM addressierbar ist, sondern darum, wieviel RAM der JVM zugeordnet werden kann.
 

Painii

Bekanntes Mitglied
Natürlich "reiner RAM", wieso denn auch nicht?
Hab bei der Einheit "MG" beim kurzen drüberfliegen gedacht "ist bestimmt mehr als 4GB"...
Mein Fehler.

Deine Antwort hat leider nicht auf die Frage gepasst ;)
Es ging nicht darum wieviel RAM addressierbar ist, sondern darum, wieviel RAM der JVM zugeordnet werden kann.
Kommt dann eben auf das Betriebssystem an, wieviel da vom Speicher abgezogen wird.
Auf jeden Fall werden es nicht mehr als 4GB werden für ein 32-bit System. Und ich finde die obere Grenze dafür anzugeben ist eine passende Antwort.

Mir reichen an RAM auch 1.5GB für Java zurzeit. Wenn ich mehr speichern will dann nehm ichs in Kauf wenn ich auf die Platte schreiben muss. Wem das zu lahm ist, der nimmt dann eben ne 64-bit-Lösung und freut sich. Ist ja für jeden was dabei ;)
 

eliot

Bekanntes Mitglied
Hallo,

sorry, ich meine natürlich MB, nicht MG!
2 GB brauchen wir hier z.B beim Kompilieren, mehr ist aber mit einer 32bit VM anscheinend nicht drin.
 

Noctarius

Top Contributor
Mir reichen an RAM auch 1.5GB für Java zurzeit. Wenn ich mehr speichern will dann nehm ichs in Kauf wenn ich auf die Platte schreiben muss. Wem das zu lahm ist, der nimmt dann eben ne 64-bit-Lösung und freut sich. Ist ja für jeden was dabei ;)

Ich bastel gerade an einem Datenbankconverter (für die Firma) -> Altes Format muss komplett überführt werden in das geänderte (wachsende Anforderungen an ein System sind was tolles ;)).

Da muss ich knapp 12 mio Datensätze vorladen um dann die benötigten neuen Daten einschieben zu können. Ich sag dir 1.5GB sind garnichts *gg*
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben