[Users] uac_redirect out of memory?
Greg Fausak
lgfausak at gmail.com
Mon Sep 4 17:26:32 CEST 2006
Daniel,
I figured the memory setup was just insufficient.
I have set up a redirect server, I don't have subscribers. My
routing script is simple, looks something like:
route
{
checkfor misc errors;
looseroute;
if (src_ip == 10.88.128.115)
{
if (is_method("INVITE"))
{
t_on_failure("3");
record_route();
rewritehostport("10.88.129.253:5060");
if (!t_relay()) {
sl_reply_error();
}
return;
}
}
else if(src_ip == 10.88.129.253)
{
if (is_method("INVITE") || is_method("CANCEL") || is_method("BYE"))
{
record_route();
rewritehostport("10.88.128.115:5060");
if (!t_relay()) {
sl_reply_error();
}
return;
}
sl_send_reply("405", "method not supported"); return;
}
sl_send_reply("403", "I am not familiar with your IP address
Maynard"); return;
}
failure_route[3]
{
if (t_check_status("3[0-9][0-9]"))
{
get_redirects("*");
serialize_branches(0);
}
if (next_branches())
{
t_on_failure("3");
t_relay();
return;
}
t_reply("404", "No branches left");
}
That's it. When I apply a load I start getting memory shortages.
I have been able to get around the problem using -m. I was looking
for a better way other than guessing. If I knew how many bytes are
consumed per pending transaction, or, if I could tell how much shared
memory
is being used at any given moment, I could do a better job at providing
the correct -m value.
---greg
On Sep 4, 2006, at 5:11 AM, Daniel-Constantin Mierla wrote:
> Hello,
>
> if you get "out of memory" at peak and then it recovers, it is not
> a memory leak, just insufficient shared memory. Use -m command line
> option to tune the value. By default it is 32MB.
>
> The size of memory you have to allocate depends on how many
> subscribers online you have. The user location cache uses shared
> memory as well.
>
> Cheers,
> Daniel
>
>
> On 09/02/06 00:54, Greg Fausak wrote:
>> We've been doing a little bit
>> of stress testing on the auc_redirect module.
>> Throwing 60 calls per second at it. After quite
>> a while I start getting error messages like:
>>
>> Sep 1 15:33:43 www openser[74528]: ERROR: sip_msg_cloner: cannot
>> allocate memory
>> Sep 1 15:33:43 www openser[74499]: redirect.g2.sbsqa2.com-LOOSE:
>> time_t=1157142823 ^LINE=47 ^FILE=/var/local/ser/ROUTLET/config.pre
>> ^call_id=5723-28564 at 10.88.129.253 ^cseq=3
>> ^contact=<sip:18001002132 at 10.88.129.253>
>> ^from=sip:+18001002132 at 10.88.129.253 ^fromtag=18001002132
>> ^to=sip:+16661012126 at 10.88.128.116 ^totag=5724 ^method=BYE
>> ^ruri=sip:+116661
>> 012126 at 10.88.129.251:5060 ^messageid=263458^remark=Doing it
>> Sep 1 15:33:43 www openser[74528]: ERROR: new_t: out of mem:
>> Sep 1 15:33:43 www openser[74592]: redirect.g2.sbsqa2.com-LOOSE:
>> time_t=1157142823 ^LINE=47 ^FILE=/var/local/ser/ROUTLET/config.pre
>> ^call_id=5724-28564 at 10.88.129.253 ^cseq=3
>> ^contact=<sip:18001002133 at 10.88.129.253>
>> ^from=sip:+18001002133 at 10.88.129.253 ^fromtag=18001002133
>> ^to=sip:+16661012127 at 10.88.128.116 ^totag=5725 ^method=BYE
>> ^ruri=sip:+116661
>> 012127 at 10.88.129.251:5060 ^messageid=263192^remark=Doing it
>> Sep 1 15:33:43 www openser[74528]: ERROR: t_newtran: new_t failed
>> Sep 1 15:33:43 www openser[74499]: ERROR: sip_msg_cloner: cannot
>> allocate memory
>> Sep 1 15:33:43 www openser[74592]: ERROR: new_t: out of mem:
>> Sep 1 15:33:43 www openser[74499]: ERROR: new_t: out of mem:
>> Sep 1 15:33:43 www openser[74592]: ERROR: t_newtran: new_t failed
>>
>> in the log file. I have seen similar problems with regular t_relay
>> when we approach 200
>> calls per second. Is this a shared memory problem? How much
>> shared memory to
>> I need to set up?
>>
>> Have a great weekend!
>>
>> ---greg
>>
>>
More information about the Users
mailing list