Tuning Java memory allocation

Allocating more memory to Java often improves the performance of RICOH ProcessDirector. However, it is imperative that you take several factors into consideration before you change this configuration.
Run with the default setting for a while before you consider changing the Java memory allocation. If you repeatedly experience Java out of memory errors, consider increasing the allocation.
    Important:
  • We recommend allocating no more than 50% of the available system memory on your system to RICOH ProcessDirector Java processes. This recommendation takes into consideration the memory needs of other parts of RICOH ProcessDirector, such as the database, transforms, custom code, and other components. The recommendation also ensures that the operating system and other tools and utilities have the resources they require to operate.
  • If you intend to define local secondary servers to use with resource-intensive steps, you must take those requirements into consideration as well. The amount of memory allocated to all RICOH ProcessDirector servers on the primary computer combined should not exceed 50% of the available system memory.

To tune Java memory allocation:

  1. Check the amount of RAM installed on your system. Divide that number by 2 and write it down.
  2. Check how much memory is allocated to other applications that run on this system.
    Reduce the number you wrote down by the amount of memory each application uses. The resulting value is the total amount of heap memory that is available for you to allocate to Java for all running RICOH ProcessDirector primary and secondary processes.
      Note:
    • If your RICOH ProcessDirector solution requires more memory than the amount determined in this step, we recommend upgrading the system memory to meet the stated guidelines. Allocating more than 50% of available memory to the RICOH ProcessDirector Java heap negatively impacts performance.
  3. Find the line that looks like this:
    primary=-Xmx2048m -Djava.net.preferIPv4Stack=true -Djava.awt.headless=true

    The value after primary=-Xmx is the maximum amount of heap memory the RICOH ProcessDirector Java run time environment is allowed to use for the RICOH ProcessDirector primary process. In this example, the primary server can use 2048MB (2GB) of RAM for its heap.

  4. Update the -Xmx value to the number you determined in step .
    For example, to allow the primary server use 8GB of heap space, you can specify -Xmx8192m or -Xmx8g
  5. If the line does not include this setting: -XX:+UseG1GC, add it.
  6. If you have secondary servers defined, add a line for each secondary server to allocate a specific amount of memory for them.
    1. Copy the line that begins with primary and paste it on a new line at the bottom of the file.
    2. Update the line that you copied to change primary to the value of the Server name property for the secondary server.
    3. Update the value after secondary_server_name=-Xmx to the amount of memory that you have available for it.
  7. Save and close the file.
    Note:
  • You change the RICOH ProcessDirector Plug-in for Adobe Acrobat JVM memory allocation by clicking Ricoh Preferences from the Adobe Acrobat menu bar.