SHIFT-WIKI

--- Sjoerd Hooft's InFormation Technology ---

User Tools

Site Tools


opendsmemoryconfiguration

OpenDS Memory Configuration

Summary: How to confgure memory usage for OpenDS.
Date: Around 2012
Refactor: 8 March 2025: Checked links and formatting.

By default openDS only gets a minimum of 128 MB and a maximum of 256 MB memory assigned ( -Xms128m -Xmx256m ). That is a bit low in large environments. You can check current settings like this:

sjoerd@ldapsrv:/opt/OpenDS-2.2.0/config>ps -ef | grep Open
    root 4063566       1 316   Mar 11      - 141937:27 /usr/java5/jre/bin/java -server -Xms128m -Xmx256m -Dorg.opends.server.scriptName=start-ds org.opends.server.core.DirectoryServer --configClass org.opends.server.extensions.ConfigFileHandler --configFile /opt/OpenDS-2.2.0/config/config.ldif

Settings can be adjusted in /opt/OpenDS-2.2.0/config: Original settings:

overwrite-env-java-home=false
overwrite-env-java-args=false

default.java-home=/usr/java5/jre

backup.offline.java-args=-server -Xms128m -Xmx256m
encode-password.java-args=-server -Xms128m -Xmx256m
export-ldif.offline.java-args=-server -Xms128m -Xmx256m
import-ldif.offline.java-args=-server -Xms128m -Xmx256m
ldif-diff.java-args=-server -Xms128m -Xmx256m
ldifmodify.java-args=-server -Xms128m -Xmx256m
ldifsearch.java-args=-server -Xms128m -Xmx256m
make-ldif.java-args=-server -Xms128m -Xmx256m
rebuild-index.java-args=-server -Xms128m -Xmx256m
restore.offline.java-args=-server -Xms128m -Xmx256m
start-ds.java-args=-server -Xms128m -Xmx256m
upgrade.java-args=-server -Xms128m -Xmx256m
verify-index.java-args=-server -Xms128m -Xmx256m
dbtest.java-args=-server -Xms128m -Xmx256m
backup.online.java-args=-client -Xms8m
base64.java-args=-client -Xms8m
create-rc-script.java-args=-client -Xms8m
dsconfig.java-args=-client -Xms8m
dsreplication.java-args=-client -Xms8m
dsframework.java-args=-client -Xms8m
export-ldif.online.java-args=-client -Xms8m
import-ldif.online.java-args=-client -Xms8m
ldapcompare.java-args=-client -Xms8m
ldapdelete.java-args=-client -Xms8m
ldapmodify.java-args=-client -Xms8m
ldappasswordmodify.java-args=-client -Xms8m
ldapsearch.java-args=-client -Xms8m
list-backends.java-args=-client -Xms8m
manage-account.java-args=-client -Xms8m
manage-tasks.java-args=-client -Xms8m
restore.online.java-args=-client -Xms8m
stop-ds.java-args=-client -Xms8m
status.java-args=-client -Xms8m
control-panel.java-args=-client -Xms8m
uninstall.java-args=-client -Xms8m
setup.java-args=-client -Xms8m

New settings:

overwrite-env-java-home=false
overwrite-env-java-args=true

default.java-home=/usr/java5/jre

manage-account.java-args=-client -Xms8m
import-ldif.offline.java-args=-server -Xms128m -Xmx256m
status.java-args=-client -Xms8m
rebuild-index.java-args=-server -Xms2g -Xmx2g
backup.online.java-args=-client -Xms8m
base64.java-args=-client -Xms8m
verify-index.java-args=-server -Xms2g -Xmx2g
export-ldif.offline.java-args=-server -Xms128m -Xmx256m
ldif-diff.java-args=-server -Xms128m -Xmx256m
list-backends.java-args=-client -Xms8m
import-ldif.online.java-args=-client -Xms8m
encode-password.java-args=-server -Xms128m -Xmx256m
ldapdelete.java-args=-client -Xms8m
backup.offline.java-args=-server -Xms128m -Xmx256m
ldapcompare.java-args=-client -Xms8m
uninstall.java-args=-client -Xms8m
control-panel.java-args=-client -Xms8m
restore.offline.java-args=-server -Xms128m -Xmx256m
ldappasswordmodify.java-args=-client -Xms8m
dsframework.java-args=-client -Xms8m
restore.online.java-args=-client -Xms8m
ldifsearch.java-args=-server -Xms128m -Xmx256m
create-rc-script.java-args=-client -Xms8m
stop-ds.java-args=-client -Xms8m
dsreplication.java-args=-client -Xms8m
ldapsearch.java-args=-client -Xms8m
ldapmodify.java-args=-client -Xms8m
start-ds.java-args=-server -Xms2g -Xmx2g
setup.java-args=-client -Xms8m
dbtest.java-args=-server -Xms128m -Xmx256m
make-ldif.java-args=-server -Xms128m -Xmx256m
upgrade.java-args=-server -Xms128m -Xmx256m
manage-tasks.java-args=-client -Xms8m
dsconfig.java-args=-client -Xms8m
export-ldif.online.java-args=-client -Xms8m
ldifmodify.java-args=-server -Xms128m -Xmx256m

After changing the file you can activate the settings using the command dsjavaproperties:

sjoerd@ldapsrv:/opt/OpenDS-2.2.0/bin>sudo ./dsjavaproperties
The operation was successful.  The server commands will use the java arguments and java home specified in the properties file located in /opt/OpenDS-2.2.0/config/java.properties

To see that openDS is actually running with the new settings openDS needs a restart:

/opt/OpenDS-2.2.0/bin/stop-ds -D cn=manager -w <secret>
/opt/OpenDS-2.2.0/bin/start-ds

Set DB Cache

Use the following command to set the db cache to 50% so this will use 1 GB of RAM after the settings above are applied:

./dsconfig -h localhost -p 4444 -D "cn=manager" -w <password> -X -n set-backend-prop --backend-name userRoot --set db-cache-percent:50
opendsmemoryconfiguration.txt · Last modified: 2025/05/20 21:21 by 127.0.0.1