Memory Tuning for eDirectory on Linux

(Last modified: 13Dec2004)

This document (10093445) is provided subject to the disclaimer at the end of this document.

fact

Novell eDirectory 8.7.1 for Linux

Novell eDirectory 8.7.3 for Linux

symptom

When the server is under a high load, eDirectory utilities and applications, such as ndsrepair, ndstrace, and nldap, will not load

High memory usage or memory fragmentation.  A core may result.

fix

Add the following lines to /etc/init.d/ndsd:

MALLOC_TRIM_THRESHOLD_=20971520
MALLOC_MMAP_MAX_=4
export MALLOC_TRIM_THRESHOLD_ MALLOC_MMAP_MAX_ 

The server must be restarted after changing these variables

note

MALLOC_TRIM_THRESHOLD_=20971520
This parameter specifies the size of the smallest chunk of freed memory that causes the memory management system to shrink the data segment.

MALLOC_MMAP_MAX_=4
The maximum number of memory channels that can be served at the same time.

These tuneables together help automatic trimming of unused memory, mainly useful in long-lived programs such as eDirectory.

fix

Limiting the amount of eDirectory database cache can also help prevent these issues.  Limit database cache to the range of 500 MB to 1GB, depending on the DIB and useage (run performance tests to find the optimal settings).

note

One example of a pstack from a core that is a result of low amount of available continuguous memory is as follows:

#0 0x60e26fc0 in SMIteratorHandle::SMIteratorHandle ()  from /usr/lib//nds-modules/libnds.so
#1 0x60de3353 in NBIteratorHandle::NBIteratorHandle () from /usr/lib//nds-modules/libnds.so
#2 0x60cd2ba7 in DSASearch () from /usr/lib//nds-modules/libnds.so

document

Document Title: Memory Tuning for eDirectory on Linux
Document ID: 10093445
Solution ID: NOVL97665
Creation Date: 30Jun2004
Modified Date: 13Dec2004
Novell Product Class:Novell Directory Services

disclaimer

The Origin of this information may be internal or external to Novell. Novell makes all reasonable efforts to verify this information. However, the information provided in this document is for your information only. Novell makes no explicit or implied claims to the validity of this information.
Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information.