JVM arguments

Java virtual machine (JVM) arguments should be defined using startup command script or Admin Console for your web application server.

  • Confirm you have the latest service packs and patches installed for your operating system, web application server, and JVM.
  • For best performance, when using Sun HotSpot VM, use the -server argument.
  • Decide on a maximum heap size for the JVM, based on the memory availability in the server. (Unica Interact is not a memory intensive application). Set the max and min sizes of the heap to be the same (using -Xmx and -Xms arguments), which increases the startup time, but gives better throughput.
  • If the application is unresponsive periodically, for example, long response times running to few seconds, the Garbage Collection policy might need to be tuned. Monitor Garbage Collection runs using JMX console and by studying the Garbage Collection output after enabling the following arguments.

    -verbosegc -XX:+PrintGCDetails
  • In our tests, the Low Pause Collector was found to eliminate Garbage Collection-related slowness without sacrificing throughput. The following is one set of options was found to be useful for a 2 GB JVM heap.

    -XX:+UseConcMarkSweepGC -Xmn512m -XX:SurvivorRatio=6

    In general, the young collection should be about 1/4 to 1/2 of the total heap. The Survivor Space can be set to 1/8th the size of young collection.

  • If you use a two-digit year (for example, 01-01-20) or you use dates that are on or after 01/01/2020 when you use a Date macro, you must add the following JVM parameter to the application start so the two-digit year is fixed to a four-digit year, which is what is expected by the application.

    -DInteract.enableTwoDigitYearFix=true
  • Under certain circumstances, deploying older legacy interactive channels or interactive channels with large deployment histories can stress the system and require 2048mb or greater of Campaign designtime and/or Interact runtime Java heap space.

    System administrators can adjust the amount of memory available to the deployment systems via the following JVM parameters:

    -Xms####m -Xmx####m -XX:MaxPermSize=256m

    Where the characters #### should be 2048 or higher (depending on their system load.) Note that a 64-bit application server and JVM are usually necessary for values greater than 2048.

References