Determining the CMSInitiatingOccupancyFraction
Use the terminal to determine the CMSInitiatingOccupancyFraction
value.
Steps
-
Retrieve the
prime-method
property for the backend.Example:
$ bin/dsconfig get-backend-prop --backend-name userRoot \ --property prime-method
If you set the
Preload Database at startup
option during the installation, then skip to step 3. -
If the
prime-method
property was not configured, runbin/dsconfig
to set the property to PRELOAD, and then restart the PingDirectory server to preload the database cache.Example:
$ bin/dsconfig set-backend-prop --backend-name userRoot \ --set prime-method:preload $ bin/stop-server $ bin/start-server
Result:
At startup, you see an administrative message if the current
CMSInitiatingOccupancyFraction
property is below the recommended value.You can get the recommended value from this message and change it in the
config/java.properties
file in step 5. -
If you were unable to see the recommended
CMSInitiatingOccupancyFraction
property at startup presented in the previous step, pre-tune the value of theCMSInitiatingOccupancyFraction
property to ensure that all of the data is imported into the server and preloading is enabled in the backend.-
Retrieve the recommended
CMSInitiatingOccupancyFraction
value by issuing the following search.Example:
$ bin/ldapsearch --baseDN "cn=monitor" \ "(objectclass=ds-memory-usage-monitor-entry)" \ cms-initiating-occupancy-fraction \ recommended-cms-initiating-occupancy-fraction-for-current-data-set
If the
recommended-cms-initiating-occupancy-fraction-for-current-data-set
is not present, then make sure that the server has been restarted since enabling preload for the backends.Result:
dn: cn=JVM Memory Usage,cn=monitor cms-initiating-occupancy-fraction:80 recommended-cms-initiating-occupancy-fraction-for-current-data-set:55
-
-
Open the
config/java.properties
file using a text editor and manually edit theCMSInitiatingOccupancyFraction
property (or any other property) to its recommended value in thestart-server.java-args
property. -
Save the file.
The following arguments are recommended for a Sun 5440 server. Contact your authorized support provider for specific assistance.
Example:
start-server.java-args=-d64 -server -Xmx20g -Xms20g -XX:MaxNewSize=1g -XX:NewSize=1g -XXParallelGCThreads=16 -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:+CMSParallelRemarkEnabled -XX:+CMSParallelSurvivorRemarkEnabled -XX:ParallelCMSThreads=8 -XX:CMSMaxAbortablePrecleanTime=3600000 -XX:+CMSScavengeBeforeRemark -XX:RefDiscoveryPolicy=1 -XX:CMSInitiatingOccupancyFraction=55 -XX:+UseParNewGC -XX:+UseBiasedLocking -XX:+UseLargePages -XX:+HeapDumpOnOutOfMemoryError
The
-XX:ParallelGCThreads
should be limited to 16 (default) or to 8 for smaller systems. The-XX:ParallelCMSThreads
should be limited to 8. -
To apply the changes, run the
bin/dsjavaproperties
command.Example:
$ bin/dsjavaproperties
-
Restart the PingDirectory server.