Sun Directory Server Enterprise Edition 7.0 Troubleshooting Guide

Analyzing Memory Leaks Using the libumem Library

On Solaris systems, the libumem library is a memory agent library that is helpful for analyzing the cause of a memory leak. For more information about the libumem library, see the technical article at the following location: http://developers.sun.com/solaris/articles/libumem_library.html

Restart the Directory Server using the following command:


# SUN_SUPPORT_SLAPD_NOSH=true LD_PRELOAD=libumem.so \
UMEM_DEBUG=contents,audit=40,guards UMEM_LOGGING=transaction ./dsadm start

The libumem library is now loaded before the Directory Server starts, instead of using the Directory Server memory allocation.

Next, run the gcore command several times, once before the memory use started to grow and once after. The gcore command will dump a memory image in the current directory.


# gcore core.process-id

Finally, use the mdb tool to analyze the results.