# Wieviel Speicher maximal?



## Jan_HH (1. Mai 2008)

Hallo,

bei einer Webanwendung (Servlet), die ich programmiere, wäre es praktisch, soviel Speicher wie nur möglich nutzen zu können. Ein (sehr java-erfahrerener Bekannter) sagte nun allerdings, dass java zuverlässig "nur" maximal 2 GB Speicher verwalten kann, und bei mehr dann Probleme auftreten würden. Ist das so? Es ist jetzt zwar nicht so, dass 2 GB wenig wären, und eigentlich müssten sie für mein Programm auch ausreichen, aber ab und an könnte es trotzdem gut sein, wenn man noch mehr Speicher zur Verfügung hat.

Was sind denn da so die offiziellen Grenzen, und was habt ihr für Erfahrungen damit?


Gruß und Danke,
Jan


----------



## tfa (1. Mai 2008)

Kommt ganz auf das verwendete Betriebssystem und die VM an. Auf einem 32-Bit-Windows sind selbst 2GB illusorisch. Mit einem 64-Bit BS und einer entsprechenden VM sollte deutlich mehr möglich sein.


----------



## foobar (1. Mai 2008)

Unter Windows gibt das tatsächlich Probleme, aber unter Linux kann man mit Java auch problemlos 4 gig RAM nutzen.


----------



## Wildcard (1. Mai 2008)

32 Bit Windows kann einem einzelnen Prozess nur maximal ca. 1.5 GB, mit ein paar Tricks auch etwas mehr zuweisen.
Auf einem 64 bit Solaris hingegen können's dann auch mal gerne 30 GB und mehr werden. 
Die Grenze bestimmt das OS, nicht die VM.


----------



## Guest (2. Mai 2008)

Also "standardmässig" handelt es sich um Linux-Server. Wenn ein Kunde (sofern sich einer findet  in einen 64-Bit-Solaris-Server investieren will, spricht da auch nix gegen. Aber die "default-Lösung" ist eine stinknormale Linux-Kiste.


----------



## tfa (2. Mai 2008)

Es gibt auch Linux für 64-Bit Systeme und eine dazu passende Linux-x64-VM von Sun.


----------



## JanHH (2. Mai 2008)

Also müssten aber auch mit einem simplen 32bit-Linux-System immerhin ca. 4 GB möglich sein, oder? Das würde wohl locker reichen.


----------



## foobar (2. Mai 2008)

JanHH hat gesagt.:
			
		

> Also müssten aber auch mit einem simplen 32bit-Linux-System immerhin ca. 4 GB möglich sein, oder? Das würde wohl locker reichen.


Ja, das ist möglich.


----------



## tfa (2. Mai 2008)

foobar hat gesagt.:
			
		

> JanHH hat gesagt.:
> 
> 
> 
> ...



Echt? Normalerweise sind 3 GB die Grenze. 
Ich hab es neulich mal mit meinem neuen Firmen-PC (8 GB Speicher) ausprobiert.
Knoppix 32-Bit zeigte tatsächlich nur 3GB verfügbaren Speicher an - Ubuntu 64-Bit immerhin 7,7GB.


----------



## JanHH (2. Mai 2008)

Ok, dann ist der Fall ja klar. Mit einen 32 bit-System maximal 3 GB Speicher, also Tomcat 2 GB. Wenns mehr sein muss, muss ein 64 bit-System her, mit dem dann aber auch deutlich grössere Speichermengen möglich sind.


----------



## foobar (2. Mai 2008)

tfa hat gesagt.:
			
		

> Echt? Normalerweise sind 3 GB die Grenze.


Ein ehemaliger Kollege hatte mal das Problem, daß eine Java Serveranwendung unter Windows nicht die kompletten 4 gig RAM nutzen konnte. Eine Migration auf Linux löste das Problem.



			
				tfa hat gesagt.:
			
		

> Ich hab es neulich mal mit meinem neuen Firmen-PC (8 GB Speicher) ausprobiert.
> Knoppix 32-Bit zeigte tatsächlich nur 3GB verfügbaren Speicher an - Ubuntu 64-Bit immerhin 7,7GB.


BTW Wofür brauchst du 8 gig RAM?


----------



## maki (2. Mai 2008)

Kenne auch die 3GB Grenze bei 32 Bit OS, viel RAM (>4GB) ist gut wenn man zB. mehrere Virtuelle Server &Rechner (Entwickler Sandboxes, Server, etc. pp.) auf einer Maschine haben möchte.


----------



## tfa (2. Mai 2008)

foobar hat gesagt.:
			
		

> BTW Wofür brauchst du 8 gig RAM?


Gar nicht. Ich kann ja auch nur 3 nutzen. Mir hat man die Kiste einfach so hingestellt - 8GB drin, davon 5 ne Investitionsruine.


----------



## Guest (2. Mai 2008)

Also bei mir erkennt er unter Vista (32bit) 3,5 GB der vorhandenen 4 GB.

Allerdings würde ich mir doch arge Sorgen machen und vermuten, dass da was grundsätzlich falsch läuft, wenn ich in einer meiner Java-Anwendungen mehr als 2 GB Speicher brauche. 

Zumal sollte man auch bedenken, dass z. B. 2 GB vorhandener RAM nie voll genutzt werden kann, da das Betriebssystem sicher auch Speicher für sich reservieren wird und keiner Anwendung die komplette Speichermenge zur Verfügung steht.


----------



## Wildcard (2. Mai 2008)

Anonymous hat gesagt.:
			
		

> Allerdings würde ich mir doch arge Sorgen machen und vermuten, dass da was grundsätzlich falsch läuft, wenn ich in einer meiner Java-Anwendungen mehr als 2 GB Speicher brauche.


2GB sind *nichts*. Nicht jeder begnügt sich damit Solitair zu entwickeln.  :roll:

Übrigens:


> Also bei mir erkennt er unter Vista (32bit) 3,5 GB der vorhandenen 4 GB.


Die restlichen, allokierbaren 500 MB sind wohl deine Grafikkarte.


----------

