Determining the CMSInitiatingOccupancyFraction
Use the terminal to determine the CMSInitiatingOccupancyFraction value.
Steps
-
Retrieve the
prime-methodproperty for the backend.Example:
$ bin/dsconfig get-backend-prop --backend-name userRoot \ --property prime-methodIf you set the
Preload Database at startupoption during the installation, then skip to step 3. -
If the
prime-methodproperty was not configured, runbin/dsconfigto 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-serverResult:
At startup, you see an administrative message if the current
CMSInitiatingOccupancyFractionproperty is below the recommended value.You can get the recommended value from this message and change it in the
config/java.propertiesfile in step 5. -
If you were unable to see the recommended
CMSInitiatingOccupancyFractionproperty at startup presented in the previous step, pre-tune the value of theCMSInitiatingOccupancyFractionproperty to ensure that all of the data is imported into the server and preloading is enabled in the backend.-
Retrieve the recommended
CMSInitiatingOccupancyFractionvalue 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-setIf the
recommended-cms-initiating-occupancy-fraction-for-current-data-setis 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.propertiesfile using a text editor and manually edit theCMSInitiatingOccupancyFractionproperty (or any other property) to its recommended value in thestart-server.java-argsproperty. -
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:ParallelGCThreadsshould be limited to 16 (default) or to 8 for smaller systems. The-XX:ParallelCMSThreadsshould be limited to 8. -
To apply the changes, run the
bin/dsjavapropertiescommand.Example:
$ bin/dsjavaproperties -
Restart the PingDirectory server.