Novell Home

NUI: Setting a Hard Limit for the eDirectory Cache on Linux

Setting a Hard Limit for the eDirectory Cache on Linux

Submitted By oasik on Wed. 02.20.2008

Problem

Two to three weeks after initial installation, you might notice that eDirectory keeps stopping/restarting itself, depending on monitoring and configuration, under a heavy load - for no apparent reason. You might also get a -150 INSUFFICIENT MEMORY error when you try to back up with dsbk or eMBox. This might be because you did not set a hard cache limit, so edirectory uses a dynamic cache, which causes a memory fillup - and ndsd ends up shutting down.

It's very important to set a hard limit for the eDirectory Cache on Linux, especially if you're running Identity Manager engine and drivers. Although I've used this solution with Linux, I'm guessing it would apply to all other operating systems, such as UNIX distributions.

Solution

How you would set such a limit? One way is to use iMonitor. Or, you can simply create a _ndsdb.ini file in the DIB directory (where nds.01 resides) with content like this:

cache=1024000000
preallocatecache=true

This sets a hard cache limit of 1 GB and preallocates a limited cache at the beginning of the start process for better performance and lesser fragmentation.

It's also a good idea to modify /etc/init.d/ndsd to set DHOST_JVM_MAX_HEAP to something greater than 256 MB (default), such as 400 MB (DHOST_JVM_MAX_HEAP=400000000). This is helpful if you're running the Identity Manager engine and drivers, so that the drivers have more memory to work with.

Note that you need to restart ndsd to reflect the changes.

3.5
Average: 3.5 (6 votes)

comment on the solution

We can set this either through iMonitor or by creating a _ndsdb.ini file , The cool solution says iManager that needs a correction , We can set this value through iManager.

Regards,
Koushik
rkoushik@novell.com

corrected

You're right. It's iMonitor. Corrected. Thanks.

Jeff

This article is very misleading. 1gb of cache on linux is way too much. On NetWare, this is ok, on linux you should not go over 500mg on large dibs.

Additionally the default java heap is 64mg, not 256mg.

 
 

© 2008 Novell, Inc. All Rights Reserved.