Mittwoch, 24. Februar 2010

jsync, nio und der Speicherverbrauch

Gestern habe ich mal einen Test gemacht, der mich doch sehr überrascht hat.
So hat sich die Implementierung zum Dateien kopieren ohne nio als Speicher schonender und effizienter herausgestellt.

Grund für die Umstellung war, dass mir die Tools top und htop unter Debian Lenny immer zeigten, dass der Speicher immer im Gigabyte Bereich gefüllt ist sobald größere Dateien kopiert werden.

Legt man nun aber eine Speichergrenze von 1 MB in der jsync.conf und stellt nio ab, kommt man nur auf 1 MB Speicherverbrauch zusätzlich zu den intern gespeicherten Pfaden.
Bei einer Kopieraktion lag ich im Schnitt bei 100 MB.

Deshalb empfehle ich, auch wenn nio in Java 7 eine wichtigere Rolle spielen wird als die alten io Schnittstellen, eher auf die klassische Art zu setzen, wenn man Speicher schonen will.

Keine Kommentare: