1. Retrieve the prime-method property for the backend.
    $ 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.

  2. If the prime-method property was not configured, run 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
    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.

  3. If you were unable to see the recommended CMSInitiatingOccupancyFraction property at startup presented in the previous step, 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.
    1. Retrieve the recommended CMSInitiatingOccupancyFraction value by issuing the following search.
      $ bin/ldapsearch --baseDN "cn=monitor" \
        "(objectclass=ds-memory-usage-monitor-entry)" \ 
        cms-initiating-occupancy-fraction \ 

      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.

    dn: cn=JVM Memory Usage,cn=monitor 
  4. Open the config/java.properties file using a text editor and manually edit the CMSInitiatingOccupancyFraction (or any other property) to its recommended value in the start-server.java-args property.
  5. Save the file.

    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:+CMSScavengeBeforeRemark -XX:RefDiscoveryPolicy=1 
    -XX:CMSInitiatingOccupancyFraction=55 -XX:+UseParNewGC 
    -XX:+UseBiasedLocking -XX:+UseLargePages 

    The -XX:ParallelGCThreads should be limited to 16 (default) or to 8 for smaller systems. The -XX:ParallelCMSThreads should be limited to 8.

  6. To apply the changes, run the bin/dsjavaproperties command.
    $ bin/dsjavaproperties
  7. Restart the Directory Server.