Environment
eDirectory 8.8 SP7
Novell Open Enterprise Server 11 (OES 11) Linux Support Pack 1
Situation
When OES11 SP1 is installed the first time a _ndsdb.ini file is created under /var/opt/novell/eDirectory/data/dib/. This file holds many eDirectory low level startup settings. Unfortunately this file is missing a carridge return so the statements are not correctly parsed. This leads to eDirectory using a dynamic cache instead of a hard limit cache.
With a hard cache setting and using the preallocate option the entire amount of memory specified is allocated from the OS on startup. eDirectory's FLAIM then handles the garbage collection on this memory pool. Using a dynamic cache setting instead can lead to excessive memory fragmentation especially in heavily loaded LDAP environments.
Resolution
The contents of the _ndsdb.ini file that a new installation of OES11 SP1 creates:
cache=200000000
max-threads=256preallocatecache=true
max-threads=256preallocatecache=true
This can be resolved by removing the max-thread setting from the file. The corrected _ndsdb.ini file would look thus:
cache=200000000
preallocatecache=true
Once this change is made the ndsd process needs to be restarted.
" /etc/init.d/ndsd restart "
Novell hopes to resolve this issue in a future version of OES.