Tuning Java Virtual Machine (JVM) Performance
Because the PPM Server uses JSP, a Java compiler must be available in the environment path where the server is started.
To improve performance, the Java virtual machine (JVM) uses a just-in-time (JIT) compiler. For debugging purposes, you can disable the JIT compiler and run the JVM in interpreted mode. Exceptions that you encounter while running in interpreted mode contain line numbers that are helpful in debugging.
To run the JVM in interpreted mode, set a variable in the server environment, as follows (use the Bourne or K shell):
JAVA_COMPILER=None export JAVA_COMPILER
To avoid performance degradation, do not run the JVM in interpreted mode for extended periods in a production environment.
The PPM Server startup script (
kStart.sh) contains two JVM parameters that you can use for debugging. The
kStart.sh JVM debugging parameters are
-mx1280m. These specify that the JVM starts up with a heap size of 1280 MB (1.2 GB), and is limited to a maximum heap size of 1280 MB.
These settings are usually sufficient. For sites with heavy usage, however, consider overriding the default maximum heap size using the
SERVER_MAX_HEAP_SIZE parameter in the
server.conf file. The amount of memory required depends on factors such as cache sizes and number of Oracle connections.
Note: After you first start the PPM Server following an installation or upgrade, the server occupies approximately 750 MB in memory. As you use the product, the cache fills up and the JSPs are loaded into memory. Over time, the system gradually uses more memory. This is normal, and memory usage levels out over time. In most cases, memory usage can increase to a maximum of 1 GB.
If your Java program requires a large amount of memory, you may find that, at some point, the virtual machine starts to throw OutOfMemoryError instances as it attempts to instantiate objects. This can result from your program using more memory than is available. In this case, you can use command-line options to increase the heap size allocated by the Java Virtual Machine (JVM). If not specified, the heap size defaults to 1 MB, and can increase to as much as 16 MB if your program requires more memory. (To set the initial amount of memory allocated for your program, use the -Xms option.)