Miscellaneous JVM Options

This section contains some Java options that may or may not have an impact on performance of a JVM.

  • -XX:ReservedCodeCacheSize=128m  This is an option for the Java just-in-time compiler. Basically it sets the maximum size for the compiler's code cache. (InitialCodeCacheSize similarly sets the initial size of the same cache.)

    The cache can become full, which results in Java warnings like this:

    CodeCache is full. Compiler has been disabled, Try increasing the code cache size using XXReservedCodeCacheSize=

    In extreme cases this may be followed by an OutOfMemoryError such as :

    exception: java.lang.OutOfMemoryError occurred dispatching signal SINT to handler

    In such cases the VM may need to be forcibly terminated.

    In most installations the default value (which depends on the platform) for this option will not need changing, but occasionally a very large workload might produce warnings or errors similar to the above.

  • -server  JVMs based on Sun's Hotspot technology initially compile class methods with a low optimization level. These JVMs use a simple complier and an optimizing JIT compiler. Normally the simple JIT compiler is used. However you can use this option to use the optimizing compiler instead. This change will significantly increase the performance of the server, but at the cost that the server takes longer to warm up when the optimizing compiler is used.
  • -Xconcurrentio  This is an undocumented option, which generally helps programs with many threads, particularly on Solaris. The main feature turned on with -Xconcurrentio is to use LWP-based synchronization instead of thread-based synchronization. This may enable certain applications to speed up significantly.
  • Correlation timeout settings:
    • com.tibco.bx.bpel.bg.pendingMsgProcessor.numMsgs  This option defines how many messages to process at a time. The default (and minimum setting) for this property is 500.
    • com.tibco.bx.bpel.bg.pendingMsgProcessor.interval  This option defines how often to check for expired messages. This interval property can be set as periodic in minutes or daily. For example, it would be P30 for every 30 minutes, P45 for 45 minutes and so forth. For a daily setting at 4 PM every day, this can be set as D16. The default (and minimum setting) for the interval is 30 minutes.