[sr-dev] memory debugging

Jason Penton jason.penton at smilecoms.com
Thu Dec 2 06:30:45 CET 2010


Hey Daniel,


On Thu, Dec 2, 2010 at 12:45 AM, Daniel-Constantin Mierla <miconda at gmail.com
> wrote:

>  Hello,
>
> sounds useful for live monitoring - is it ok to include it in our
> repository, kind of in utils folder?
>

No problem.


>
>  The last version is able to print the summary of allocated fragments, a
> matter of mem_summary value:
> http://www.kamailio.org/dokuwiki/doku.php/core-cookbook:3.1.x#mem_summary
>
> Have you tried it?
>

I havent yet, I am still stuck on Kamailio 1.5 - as we have MANY custom
changes to it, so porting to later versions is quite a task. BUT as you
mentioned the one I did helps me because it is LIVE. I can therefore do
certain activities and effectively monitor what is happening with my memory
in a nice 'at-a-glance' manner.

p.s Please note the program I sent is obv. dependent on the format of the
logfile because of the regex's in there.



> Thanks,
> Daniel
>
>
> On 12/1/10 4:05 PM, Jason Penton wrote:
>
> Hi All,
>
>  thought I would give you a small little perl program I quickly hacked up
> to help with some memory leaks I was getting. Turns out I was forgetting to
> call release_urecord after a get_urecord on the usrloc module. Because I use
> Kamailio in DBOnly mode - the memory was never being freed. This little
> program helped me to find the source in no time at all. I hope it helps you
> too.
>
>  A little info:
>
>  The program works on the log file. NB you have to have memlog debugging
> enabled for this program to do anything useful. Effectively the program
> continuously monitors the log file looking for allocs and frees. It tallies
> all the fragments in use and gives a report of all the fragments and where
> they weer allocated. It also keeps a running counter of bytes used.
>
>  Here is an example of the output:
>
> *****************************************************************************************************************************************************
> DUMPING ALL UNFREED MEMORY FRAGMENTS (25)
>
> *****************************************************************************************************************************************************
> called from h_table.c: build_cell(251)
>   6                                                21312
> called from dlg.c: new_dlg_uac(169)
>  1                                                128
> called from t_msgbuilder.c: build_uac_req(921)                         6
>                                              1896
> called from pv_svar.c: set_var_value(104)                                 3
>                                                132
> called from ../../ut.h: shm_str_dup(501)
>  2                                                48
> called from reply.c: build_contact(127)
>  1                                                132
> called from t_hooks.c: insert_tmcb(108)
>  6                                                144
> ************************************************************TOTAL BYTES
> HELD IN FRAGMENTS:
> 23792***************************************************************
>
>  To use - simply untar into a directory and run ./memalyze.pl
>
>  Hope it helps
>
>  Cheers
> Jason
>
>
>
>
>
> _______________________________________________
> sr-dev mailing listsr-dev at lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>
>
> --
> Daniel-Constantin Mierla
> Kamailio (OpenSER) Advanced Training
> Jan 24-26, 2011, Irvine, CA, USAhttp://www.asipto.com
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20101202/8ce07777/attachment.htm>


More information about the sr-dev mailing list