Recommended Memory Allocation for Signer

What is the recommended memory allocation for Security Server's signer component with respect to the host's available memory?

The recommended memory allocation for signer depends on the amount of RAM available on the host. In addition, also the type of host (virtual, physical etc.) and usage patterns of the Security Server effect on the most optimal amount of memory. The table below shows general recommendations regarding the amount of memory allocated for the signer component.

RAM on host (GB)

SIGNER_PARAMS value

RAM on host (GB)

SIGNER_PARAMS value

4

-Xms50m -Xmx100m

8

-Xms50m -Xmx150m

16

-Xms50m -Xmx200m

31

-Xms50m -Xmx200m

The default memory allocation for signer is -Xmx50m. In production environments the allocation should be increased.

Please note that the step-by-step guides differ between X-Road 6 and X-Road 7. Therefore, it's extremely important to choose the right guide.

More information about the differences is available here.

Step-by-step guide for X-Road 7

Memory allocation for signer can be customized modifying the /etc/xroad/services/local.properties configuration file.

Signer's default configuration is stored in /etc/xroad/services/signer.conf which is always overwritten on version updates. Therefore, /etc/xroad/services/local.properties must be used for overriding default configuration as the file is not overwritten during version updates. By default, /etc/xroad/services/local.properties file is empty.

  1. Open /etc/xroad/services/local.properties file for editing and make your changes on XROAD_SIGNER_PARAMS variable value. For example, configuration of dynamic memory allocation of 50 - 200 MB (heap, max memory 200 MB, min memory 50 MB):

    XROAD_SIGNER_PARAMS=-Xms50m -Xmx200m

    The size of the metaspace can be adjusted changing the value of MaxMetaspaceSize parameter. The value can be increased to 80m (-XX:MaxMetaspaceSize=80m), if needed.

  2. Save the /etc/xroad/services/local.properties file after making the required changes.

  3. Restart the xroad-signer service.

    systemctl restart xroad-signer

Step-by-step guide for X-Road 6

Memory allocation for signer can be customized modifying /etc/xroad/services/local.conf configuration file

  1. Open /etc/xroad/services/local.conf file for editing and make your changes on SIGNER_PARAMS variable value. For example, configuration of dynamic memory allocation of 50 - 200 MB (heap, max memory 200 MB, min memory 50 MB):

    SIGNER_PARAMS="$SIGNER_PARAMS -Xms50m -Xmx200m "

    The size of the metaspace can be adjusted changing the value of MaxMetaspaceSize parameter. The value can be increased to 80m (-XX:MaxMetaspaceSize=80m), if needed.

  1. Save the /etc/xroad/services/local.conf file after making the required changes.

  2. Restart the xroad-signer service.