[OpenSIPS-Users] Opensips crashing due to out of memory error
John Khvatov
ivaxer at gmail.com
Wed Apr 20 17:51:20 CEST 2011
Hi Anca,
On 20.04.2011, at 13:24, Anca Vamanu wrote:
> Hi John,
>
> Thanks for the logs.
> Do you get the memory statistics from opensips statistics or from top?
> In the logs I don't see a shared memory leak..
Hm... Maybe the memory leak in the system libraries?
Memory usage is calculated as follows:
# ps aux | head -n 1
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
# ps aux | grep -E "/usr/sbin/opensips -[P]"
opensips 8389 0.0 0.0 451444 9880 ? S Apr19 0:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8395 0.2 0.0 451448 5216 ? S Apr19 2:06 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8396 0.0 0.0 451448 5184 ? S Apr19 0:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8398 0.0 0.0 451452 5160 ? S Apr19 0:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8399 0.0 0.1 451684 12732 ? S Apr19 0:10 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8400 0.0 0.1 451704 12708 ? S Apr19 0:09 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8402 0.0 0.1 451708 12644 ? S Apr19 0:09 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8403 0.0 0.1 451708 12640 ? S Apr19 0:10 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8405 0.0 0.0 451448 5088 ? S Apr19 0:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8406 0.0 0.0 451448 5088 ? S Apr19 0:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8409 0.0 0.0 451448 5088 ? S Apr19 0:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8410 0.0 0.0 451448 5088 ? S Apr19 0:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8411 0.0 0.0 450644 3148 ? S Apr19 0:07 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8412 0.0 0.1 451448 11572 ? S Apr19 0:11 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8413 0.0 0.0 451444 5304 ? S Apr19 0:05 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8414 0.0 0.0 451452 9660 ? S Apr19 0:01 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8418 0.0 0.0 451452 9336 ? S Apr19 0:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8426 0.0 0.0 451452 9684 ? S Apr19 0:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8428 0.0 0.0 451452 5920 ? S Apr19 0:00 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
opensips 8429 0.0 0.0 451416 6544 ? S Apr19 0:01 /usr/sbin/opensips -P /var/run/opensips/opensips.pid -m 256 -u opensips -g opensips
# ps aux | grep -E "/usr/sbin/opensips -[P]" | awk '{a += $6} END {print a}'
157684
i.e. sum of RSS value, where RSS (man ps)
RSS - resident set size, the non-swapped physical memory that a task has used (in kiloBytes). (alias rssize, rsz).
How can I help?
> On 04/20/2011 10:18 AM, John Khvatov wrote:
>> Hello Anca,
>>
>> On 19.04.2011, at 13:21, Anca Vamanu wrote:
>>
>>> Hi John,
>>>
>>> That looks very bad...
>>> Please help me investigate this.
>>>
>>> What you can do is to compile with memory debugging support - in Makefile.defs search -DDBG_QM_MALLOC line, uncomment it, move it above -DF_MALLOC line and comment this line with -DF_MALLOC. Then recompile and reinstall all. Also set mem_dump=1 in your config.
>> I've built OpenSIPS from latest SVN head (branch 1.6) as you said.
>>
>>> After a couple of hours, when you see that the memory is high - you can either shutdown opensips or ask it to dump the memory by calling 'kill -SIGUSR1 lowest_pid' , where lowest_pid is the smallest pid when doing 'ps aux | grep opensips'. It will dump lots of info in the log file(this why is better to do this quite soon - maybe after 1-2 hours in the rhythm the memory increases for you). In the logs you will see all the chunks of memory and where they were allocated. Look from the end if there is a function repeated many times. You can also send the part of the log with the dump to me ( not on the list, because it will be quite large).
>> Done.
>>
>> SIGUSR1:
>> http://dev.sgu.ru/pub/memdump.log.gz
>>
>> SIGTERM:
>> http://dev.sgu.ru/pub/memdump.log.shutdown.gz
>>
>>
>>> On 04/19/2011 10:30 AM, John Khvatov wrote:
>>>> Hello Anca,
>>>>
>>>> Sorry, the memory leak is still here:
>>>>
>>>> http://dev.sgu.ru/pub/opensips_memory_usage.2.png
>>>>
>>>> BTW, dialog module was not used in my script. I've removed loadmodule before update.
>>>>
>>>>
>>>> On 12.04.2011, at 0:00, John Khvatov wrote:
>>>>
>>>>> Hello Anca,
>>>>>
>>>>> Thank you for the advice. I built OpenSIPS from rev7863. BTW, rev7824 was used in production.
>>>>>
>>>>> I'll let you know the result within a few days.
>>>>>
>>>>>
>>>>> On 11.04.2011, at 17:48, Anca Vamanu wrote:
>>>>>
>>>>>> Hi John,
>>>>>>
>>>>>> Can you please take the pua and pua_usrloc and dialog modules from svn? There were some problems discovered in there and fixed.
>>>>>> The svn version of these modules ( 1.6 branch) is stable, we are using it in production.
>>>>>>
>>>>>> Regards,
>>>>>> --
>>>>>> Anca Vamanu
>>>>>> OpenSIPS Developer
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 04/11/2011 12:45 AM, John Khvatov wrote:
>>>>>>> On 10.04.2011, at 8:35, Ronald Cepres wrote:
>>>>>>>
>>>>>>>> Have you tried increasing the amount of allocated memory for OpenSIPS?
>>>>>>> I have same problem with OpenSIPS since 1.6.0 release. OpenSIPS has huge memory leak somewhere. Increasing the amount of allocated memory helps only delay crash.
>>>>>>>
>>>>>>> Memory usage graph (1.6.4, KkB is MB):
>>>>>>> http://dev.sgu.ru/pub/opensips_memory_usage.png
>>>>>>>
>>>>>>> I use the following modules:
>>>>>>>
>>>>>>> $ grep loadmodule opensips.cfg
>>>>>>> loadmodule "signaling.so"
>>>>>>> loadmodule "sl.so"
>>>>>>> loadmodule "tm.so"
>>>>>>> loadmodule "maxfwd.so"
>>>>>>> loadmodule "rr.so"
>>>>>>> loadmodule "textops.so"
>>>>>>> loadmodule "localcache.so"
>>>>>>> loadmodule "mi_fifo.so"
>>>>>>> loadmodule "mi_datagram.so"
>>>>>>> loadmodule "db_flatstore.so"
>>>>>>> loadmodule "siptrace.so"
>>>>>>> loadmodule "db_text.so"
>>>>>>> loadmodule "db_postgres.so"
>>>>>>> loadmodule "db_http.so"
>>>>>>> loadmodule "usrloc.so"
>>>>>>> loadmodule "registrar.so"
>>>>>>> loadmodule "auth.so"
>>>>>>> loadmodule "auth_db.so"
>>>>>>> loadmodule "uri.so"
>>>>>>> loadmodule "domain.so"
>>>>>>> loadmodule "dialog.so"
>>>>>>> loadmodule "mediaproxy.so"
>>>>>>> loadmodule "nat_traversal.so"
>>>>>>> loadmodule "permissions.so"
>>>>>>> loadmodule "alias_db.so"
>>>>>>> loadmodule "avpops.so"
>>>>>>> loadmodule "mi_xmlrpc.so"
>>>>>>> loadmodule "dialplan.so"
>>>>>>> loadmodule "pike.so"
>>>>>>> loadmodule "pua.so"
>>>>>>> loadmodule "pua_usrloc.so"
>>>>>>>
>>>>>>> --
>>>>>>> WBR, John Khvatov
>>>>> --
>>>>> WBR, John Khvatov
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
--
WBR, John Khvatov
More information about the Users
mailing list