Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note
titleJava Heap Memory Recommendations

At the time of writing, DSpace recommends you should give Tomcat >= 512MB 1024MB of Java Heap Memory to ensure optimal DSpace operation. Most larger sized or highly active DSpace installations however tend to allocate more like 1024MB 1536MB to 2048MB of Java Heap Memory.

...

Code Block
    CATALINA_OPTS=-Xmx512mXmx1024m -Xms512mXms256m

OR

Code Block
    JAVA_OPTS=-Xmx512mXmx1024m -Xms512mXms256m

The above example sets the maximum Java Heap memory to 1024MB. They also allow the memory to 512MBallocation to reset to a smaller number, if Tomcat determines that is necessary. In our experience Tomcat makes good memory allocation decisions, if you allow it to do so.

Info
titleDifference between JAVA_OPTS and CATALINA_OPTS

You can use either environment variable. JAVA_OPTS is also used by other Java programs (besides just Tomcat). CATALINA_OPTS is only used by Tomcat. So, if you only want to tweak the memory available to Tomcat, it is recommended that you use CATALINA_OPTS. If you set both CATALINA_OPTS and JAVA_OPTS, Tomcat will default to using the settings in CATALINA_OPTS.

...

Note
titleJava PermGen Memory Recommendations

At the time of writing, DSpace recommends you should give Tomcat >= 128MB 192MB of PermGen Space to ensure optimal DSpace operation.

...

Code Block
    CATALINA_OPTS=-XX:MaxPermSize=128m192m

OR

Code Block
    JAVA_OPTS=-XX:MaxPermSize=128m192m

The above example sets the maximum PermGen memory to 128MB192MB.

Info
titleDifference between JAVA_OPTS and CATALINA_OPTS

You can use either environment variable. JAVA_OPTS is also used by other Java programs (besides just Tomcat). CATALINA_OPTS is only used by Tomcat. So, if you only want to tweak the memory available to Tomcat, it is recommended that you use CATALINA_OPTS. If you set both CATALINA_OPTS and JAVA_OPTS, Tomcat will default to using the settings in CATALINA_OPTS.

Note

Please note that you can obviously set both Tomcat's Heap space and PermGen Space together similar to:
CATALINA_OPTS=-Xmx512m Xmx1536m -Xms512m Xms256m -XX:MaxPermSize=128m192m

Note

On an Ubuntu machine (10.04) at least, the file /etc/default/tomcat6 appears to be the best place to put these environmental variables.

Use the Parallel Garbage Collector

This is a fairly complicated performance tuning subject, for more information, see this article on performance tuning Tomcat. However, a number of large repositories have enabled the parallel garbage collector, and it seems to help with throughput. If you find you have to increase your heap memory allocation very high to maintain stability, you may wish to consider enabling parallel garbage collection as well.

Code Block
JAVA_OPTS="$JAVA_OPTS -XX:+UseParallelGC"

 

Give the Command Line Tools More Memory

...