Howard Chu wrote:
> Michael Ströder wrote:
>> HI!
>>
>> An Æ-DIR installation with self-compiled OpenLDAP 2.4.53 on Debian (now
>> buster) has memory leak issues on the Æ-DIR providers. The read-only
>> consumers do not have this issue. The provider config is more complex
>> with more overlays.
>>
>> slapd is automatically restarted (by monit) when memory consumption
>> reaches 80%. Thus monitoring clearly shows a frequent saw tooth pattern.
>>
>> I'm experimenting with valgrind to track down the issue:
>>
>> valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes
>> --verbose --log-file=valgrind-out.txt -- /opt/openldap-ms/libexec/slapd
>> [...]
>>
>> Does that make sense or are some other command-line options needed?
> 
> I've usually just used --leak-check=full, never needed any other options.
> 
> But valgrind runs about 50x slower than realtime, I'd recommend using
> https://github.com/hyc/mleak/ instead. It's faster than all other leak
> checkers, makes it practical to use in near production-level loads.

One other consideration - both of these tools wait until the target
process exits cleanly, before producing results. If the leaks are occurring
in a loaded module, you won't get any symbol info because slapd unloads all
modules before exiting. To get useful results you need to comment out the
module unloading code (in slapd/module.c). And of course, compile with debug
symbols enabled, and best to turn optimization off.

-- 
  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/

Reply via email to