Greg's Blog

helping me remember what I figure out

JVM Tuning

| Comments

Stumbled across this post from Cameron Childress about JVM tuning and specifically the difference between MaxPermSize and Heap Size.

  • A JVM is the amount of memory assigned to store Java classes and objects
  • keep the heap size the same as the MaxPermsSize (ideally at least 512)
  • What is “MaxPermSize”? This set the size for Permanent Generation and this contains information about the objects and classes in the heap.
  • The MaxPermSize is in addition to the Heap, so if you have 512 as your heap and 512 as MaxPermSize, then your server has an overall setting of 1024 in size.

A place to look at if you are experience problems with “java.lang.OutOfMemoryError”, Cameron states is ”/coldfusionmx/wwwroot/WEB-INF/cfclasses/” (or if you are running instances on JRun: ”{install path}\JRun4\servers\{instance name}\cfusion-ear\cfusion-war\WEB-INF\cfclasses\”) and see if there are a lot of class files in that folder. If the answer is yes you are likely to have to increase the MaxPermSize setting.

Some external sources that Cameron put together:

And finally I’d also like to add this resource to the list (courtesy of Steven Errat):Ferdia’s Blog, which also contains some jvm tuning options and out of memory solutions.