Java Memory Usage und Garbage Collections mit der Option VM UseCompressedOops reduzieren

Marja-Liisa Jöckel

Stuart Leneghan hat auf seinem persönlichen Blog Hacking Away das UseCompressedOops JVM-Agument getestet. Die Aktivierung der VM Option UseCompressedOops führt nach Leneghan zu signifikanten Performance-Verbesserungen. Er konnte während seines Tests eine Reduzierung des Speicherbedarfs von 14 Prozent und eine Reduzierung der Carbage Collections um 24 Prozent feststellen.

Durch die Verwendung der UseCompressedOops VM Option können somit wesentlich geringere Latenzzeiten durch weniger Pausen bei der Durchführung einer vollständigen Garbage Collection erreicht werden. Leneghans Studie beweist deutlich, dass sich die VM-Option für die Reduzierung des Speicherbedarfs immens lohnt. Die VM-Option existiert bereits seit JVM 6u14 und ist seit der Version 6u23 Default-mäßig aktiviert.

In seinem Versuch hat Leneghan die Speicher- und GC-Eigenschaften eines Application Servers, der CompressedOops verwendet ,mit einem Placebo ohne CompressedOops verglichen. Die Anwendung lief dabei auf der 64-Bit-Version der JVM 6u21. Er kommt zu folgenden Ergebnissen:

Garbage Collection

Reduktion Minor GC Full GC Durchschnittl. Sec. zwischen GC
Ohne UseCompressedOops 0% 379 4 9,3
Mit UseCompressedOops 24% 292 3 12,2

Speicher Verbrauch

Reduktion Durchschnitt
Ohne UseCompressedOops 0% 685m
Mit UseCompressedOops 14% 593m

Leneghan empfiehlt daher die Aktivierung der Option, da bis auf die Begrenzung der Heap-Größe auf 32 GB keinerlei nennenswerte negative Auswirkungen entstehen.

Geschrieben von
Marja-Liisa Jöckel
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.