Tuning Java’s memory manager for high performance server applications

by Gousios, Georgios and Karakoidas, Vassilios and Spinellis, Diomidis

edited by Zavras, Alexios

You can get a pre-print version from here.


Java is a strong player in the application server market and thus the performance of its virtual machine is an important aspect of a server’s performance. One of the components that affect the performance of a \sc jvm is the memory manager, which also includes the garbage collector. Modern virtual machines offer a multitude of options for tuning the memory manager, which can have a significant impact on server application performance. In this paper, we examine the effect of tuning the garbage collection in an application server environment. By employing both synthetic and real world application benchmarks, we assess the various garbage collection strategies offered by two popular virtual machines. Finally, we present a comprehensive list of generally applicable garbage collection guidelines.

Bibtex record

  author = {Gousios, Georgios and Karakoidas, Vassilios and Spinellis, Diomidis},
  booktitle = {Proceedings of the 5th International System Administration and Network Engineering Conference SANE 06},
  day = {18--19},
  editor = {Zavras, Alexios},
  location = {Delft, The Netherlands},
  month = may,
  organization = {NLUUG},
  pages = {69--83},
  publisher = {Stichting SANE},
  title = {Tuning {J}ava's memory manager for high performance server applications},
  year = {2006},
  url = {/pub/paper.pdf}

The paper