On Sat, Dec 20, 2014 at 10:44 AM, bala murugan <[email protected]> wrote: > Hi , > I am trying to understand the content written to mmlog file looks like > it is difficult , with this how I can find where is memory leak happening is > there any document on this what to look for and all the cli commands and how > to use to find where is memory leak . >
A few assumptions: (1) When you say mmlog, I'm going to assume that you've enabled the MALLOC_DEBUG build option via menuselect. mmlog is the log file generated when that build option is enabled, but MALLOC_DEBUG enables more than just that log file. (2) I'm going to assume you are using the latest in one of the supported branches (or at least one of the more recently supported branches), as there have been enhancements to MALLOC_DEBUG along the way. You can think of MALLOC_DEBUG as a "poor man's valgrind memory checker". Like valgrind, it can help spot memory leaks and potential corruptions. It will generally impact performance far less than valgrind (which is good); on the other hand, it provides less information and cannot catch as many incidents of memory corruption/leaking as valgrind (which is bad). If you can reproduce an error in valgrind, you're generally better off using it. If your system cannot run under valgrind or you can't reproduce your situation in a lab environment with valgrind, then sometimes MALLOC_DEBUG can help you. The CLI commands provided by MALLOC_DEBUG are documented on the wiki: https://wiki.asterisk.org/wiki/display/AST/MALLOC_DEBUG+Compiler+Flag Several of these CLI commands are useful for diagnosing memory leaks. As far as the entries logged to mmlog during operation, these come from errors detected in astmm.c, which fronteds the C library memory functions when MALLOC_DEBUG is enabled. You can inspect astmm.c for the various errors it can detect - typically, it will detect: * allocation failures * attempts to free memory that is already free'd * corrupted memory Matt -- Matthew Jordan Digium, Inc. | Engineering Manager 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA Check us out at: http://digium.com & http://asterisk.org -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev
