The server sets each command-line utility in the config/java.properties file with -Xmx/Xms values, depending on the expected memory needs of the tools.

Because some tools can be invoked as a server task while the server is online, there are two definitions of the tool in the config/java.properties file:
.Online
Typically requires minimal memory because the task is performed within the PingDirectory server’s JVM.
.Offline
Can require the same amount of memory needed by the server. Examples include import-ldif.offline and rebuild-index.offline.

With large databases, some tools, such as ldap-diff and verify-index, might need more than the minimal memory. The following table lists the tools that are expected to have more than the minimal memory needs along with the rules for defining the default heap size.

Default Memory Allocation to the Command-Line Tools
Command-Line Tools Allocated JVM Memory

start-server, import-ldif (offline), rebuild-index (offline)

MaxHeapSize

backup (offline), dbtest export-ldif (offline), ldap-diff, restore (offline), scramble-ldif, summarize-access-log, verify-index

If Max System Memory is:

  • Greater than or equal to 16 GB: set heap to 3 GB
  • Greater than or equal to 8 GB: set heap to 1 GB
  • Greater than or equal to 4 GB: set heap to 512 MB
  • Under 4 GB: set heap to 256 MB