1. If you set the Preload Database at startup option during the installation, then skip to step 3. If you are not sure, retrieve the prime-method property for the backend as follows:
    $ bin/dsconfig get-backend-prop --backend-name userRoot \ 
      --property prime-method
  2. If the prime-method property was not configured, use bin/dsconfig to set the property to PRELOAD, and then, restart the Directory Server to preload the database cache.
    $ bin/dsconfig set-backend-prop --backend-name userRoot \ 
      --set prime-method:preload
    
    $ bin/stop-server
    $ bin/start-server
  3. At startup, you will 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.
  4. If you were unable to see the recommended CMSInitiatingOccupancyFraction property at startup presented in the previous step, first you must pre-tune the value of the CMSInitiatingOccupancyFraction property to ensure that all of the data is imported into the server and preloading is enabled in the backend. Next, retrieve the recommended CMSInitiatingOccupancyFraction value by issuing the following search. 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 backend(s).
    $ bin/ldapsearch --baseDN "cn=monitor" \
      "(objectclass=ds-memory-usage-monitor-entry)" \ 
      cms-initiating-occupancy-fraction \ 
      recommended-cms-initiating-occupancy-fraction-for-current-data-set
    dn: cn=JVM Memory Usage,cn=monitor 
    cms-initiating-occupancy-fraction:80 
    recommended-cms-initiating-occupancy-fraction-for-current-data-set:55
  5. Open the config/java.properties file using a text editor, manually edit the CMSInitiatingOccupancyFraction or any other property to its recommended value in the start-server.java-args property, and then, save the file when finished. (The following arguments are recommended for a Sun 5440 server. Contact your authorized support provider for specific assistance.):
    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. Also, the -XX:ParallelCMSThreads should be limited to 8.
  6. Run the bin/dsjavaproperties command to apply the changes.
    $ bin/dsjavaproperties
  7. Restart the Directory Server.