Each of the Curity Identity Server’s run-time nodes runs inside a separate instance of the Java Virtual Machine (JVM). This VM includes a number of options and flags that can severely impact performance. To configure these, like all other configuration of the Curity Identity Server, the configuration service’s API is used. The flags of the JVM are configured per service (i.e., per run-time node) from this central service. This is helpful for a few reasons:
Configuration of a service’s JVM options is done by setting the property jvm-options of a service role. After this is set, the Curity Identity Server needs to be restarted for the changes to take effect. This is one of the few configuration changes in the Curity Identity Server that requires a manual restart of the service; all others are immediately and automatically applied.
Warning
These changes will not take effect on a server node’s first run unless the file $IDSVR_HOME/var/jvm-options is created and contains the same flags as configured. Without this file, the first run will use the default JVM settings, and changes will only take effect after the node has been restarted.
$IDSVR_HOME/var/jvm-options
To configure the JVM setting in the UI:
Other
JVM Options
Commit
This setting can also be updated using the Command Line Interface (CLI). To do this, follow these steps:
Start the CLI by starting idsh.
idsh
Enter configuration mode by typing configure and hit enter.
configure
Type the following and press enter:
Listing 105 Setting the JVM options in the configuration mode of the CLI¶ set environments environment services service TestServer1 jvm-options "-XX:+PrintGCDetails -XX:+UseG1GC" Tip Be sure to include the arguments in quotes.
set environments environment services service TestServer1 jvm-options "-XX:+PrintGCDetails -XX:+UseG1GC"
Tip
Be sure to include the arguments in quotes.
Commit the transaction by typing commit and pressing enter.
commit