PingFederate installation and upgrade tools use the memoryoptions utility to detect the available resources at the time of the installation or upgrade and record the recommended options for Java heap and the garbage collector in a configuration file. As needed, administrators can re-run the utility or manually edit the configuration file.

The memoryoptions utility, located in the <pf_install>/pingfederate/bin directory, comes in two variants:

  • memoryoptions.bat for Windows
  • for Linux
The configuration file, jvm-memory.options, is located in the same bin directory.

You should not use the memoryoptions script when you deploy PingFederate inside of a container. Instead, you should edit the jvm-memory.options file directly. In containers, you should use the InitialRAMPercentage and MaxRAMPercentage JVM options to control the size of the heap.

Installation and upgrade

When the PingFederate installer is executed for Windows or a subsequent rerun of the memoryoptions utility, it creates a backup copy of the current jvm-memory.options, if any, detects available system resources at the time, and records the recommended options in the jvm-memory.options file. Changes made as a result of the execution of the utility or a manual edit are activated after a restart of PingFederate.

Depending upon the selected tool and whether the jvm-memory.options file exists in the source installation, the expected behavior of the memoryoptions utility differs. In general, the jvm-memory.options file from the source installation is preserved without new recommended values.