Java Virtual Machine Configuration

Knowing how to configure the JVM is the most important aspect of configuring Elixir Repertoire Server. This has significant impact on the performance and memory load. It is critical if the server is going to have a heavy load or be deployed in a 24 by 7 environment. The parameters are specified in runnable server script as startServer.bat for Windows or startServer.sh for Unixes.

The default setting of the server are:

java -mx512M 
 -Djava.security.auth.login.config=../config/auth.conf 
 -Djava.security.policy=../config/java2.policy 
 RepertoireServer-Launcher.jar

where java is the JVM executable. The actual configuration may differ between vendor and JVM version. User are advised to be familiar with all these settings. This information is shipped as part of the JVM documentation.

Additional JVM settings can be applied. For JVM shipped by Sun additional parameters as -server for server side hotspot optimization and -Djava.awt.headless where it can run without the Window Frame Buffer for Unix platform. The -Duser.home system property determines the location of the license keys location. This may be added to the VM setting to modify the location.

Fine tuning of the Garbage Collection (GC) for performance and load is useful. Different JVM from vendors may provides various setting for optimizing GC like Parallel Throughput Garbage Collector which is useful with large young generation heaps, and lots of CPUs. While a batch report may use Mark-Sweep Garbage Collector. A search in the web may provide the white papers on the various discussion in this area. This optimization schema may vary vendor to vendor of the JVM and version.

Elixir Repertoire Server specific JVM configuration: