Yesterday at Madrid DevOps I gave a lightning talk on memory and garbage collection tuning on the JVM, with JRuby tips. You can find the mind map I made for the talk here. It’s a FreeMind file. You can download FreeMind at freemind.sourceforge.net.
JVM tuning is somewhat of a black art. There are dozens of parameters and it’s not always easy to grok which to use and how to use them. Add a dynamic language such as JRuby to the mix and even more confusion ensues. The situation is not helped by the fact that, although the information is out there, it’s usually distributed among blog posts and documentation pages all over the web.
I was inspired by this post by Rupesh Ramachandran and extended the map to include recommendations/explanations of the parameters, a few more things and info about JRuby, and some tools you can use to monitor and tune the JVM. I am not going to repeat Rupesh’s excellent explanations included in his post, although I have included some of that info in the mind map itself.
I hope this is helpful!
Notes about the configuration parameters included in the mind map:
Bold - mandatory parameters or parameters you can start tuning with
Normal – fine-tuning parameters
Red - parameters it’s better not to touch unless you REALLY know what you’re doing.