[linux-l] Speichernutzung Sun JVM 64Bit
Peter Ross
Peter.Ross at bogen.in-berlin.de
Do Nov 27 12:51:36 CET 2008
Hi Frank,
On Thu, 27 Nov 2008, Frank Hofmann wrote:
> Hallo,
>
> * Peter Ross <Peter.Ross at bogen.in-berlin.de> [081122 02:56]:
> >
> > Unter 32 Bit sind diese Pools auf 2GB begrenzt, was uns bei meinem
> > früheren Arbeitgeber ab und an Ärgen beschert hat (Wer mag schon "Out of
> > memory"-Fehler?)
>
> Gut, d.h. mehr als 2GB geht nicht. Der Rest wird also geswapped :-/
Kein swapping. 2GB ist der maximal addressierbare Adressbereich für die
einzelnen Komponenten (Heap z.B.) innerhalb der JVM, mehr geht nicht unter
32 Bit. Danach ist "Out of Memory".
Java swappt nicht, sondern saugt sich voll, und versucht bei knappen
Ressourcen sich mittels Garbage Collection überflüssiger
Speicherallozierungen zu erledigen.
Da die Garbage Collection periodisch weite Teile des JVM-Heaps anfaßt,
(der allozierte Bereich sieht in einer graphischen Darstellung wie eine
Säge aus - allozieren, allozieren, es wird knapp, Garbage Collection zum
reduzieren, allozieren..),
ist es für das drunterliegende Betriebssysten schwer zu erkennen, welcher
Adressbereich denn lange nicht mehr benötigt wurde, und geswappt werden
könnte.
Eine Java-Applikation, die auf Swap zurückgreifen muß, kann man nach
meiner Erfahrung praktisch vergessen.
Naja, so siehts halt aus, wenn das Speichermanagement innerhalb der JVM
geschachtelt nochmal erfunden wird..
> Bei unserem Fall kann es vorkommen, dass Files >10 GB entstehen, die
> wir gern im RAM halten möchten.
Hast Du _viel_ RAM?
> Alles was irgendwie unnötig zeit braucht (Daten auf Platte schreiben
> etc) soll möglichst wegfallen oder minimiert werden.
Du könntest stattdessen eine RAM-Disk anlegen, auf der Du schreibst. Das
umgeht eine Virtualisierungs-Ebene und Du kannst mit gewöhnlichen
Fileoperationen drauf zugreifen.
Ich bin nicht über die aktuellen Größen von RAID-Array-Caches informiert,
habe länger schon keine Angebotssuche in der Richtung betrieben, aber die
Caches sind so klein oft auch nicht, so daß oft das Schreiben tatsächlich
in diesem stattfindet, so daß man nicht auf die Platten warten muß (der
Cache ist batteriegepuffert und kann so bei Stromausfall noch gesichert
werden).
Es gibt der Varianten viele. Hoffentlich findest Du die richtige:-)
Es grüßt
Peter
P.S. "Linux, Layout und Satz.." ich bin mir über Deinen Nachnamen nicht
mehr sicher, aber vielleicht kennen wir uns.. PPS? Wie auch immer, Grüße
aus Melbourne
Mehr Informationen über die Mailingliste linux-l