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(a)10.88.129.253 ^cseq=3
> ^contact=<sip:18001002132@10.88.129.253>
> ^from=sip:+18001002132@10.88.129.253 ^fromtag=18001002132
> ^to=sip:+16661012126@10.88.128.116 ^totag=5724 ^method=BYE
> ^ruri=sip:+116661
> 012126@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(a)10.88.129.253 ^cseq=3
> ^contact=<sip:18001002133@10.88.129.253>
> ^from=sip:+18001002133@10.88.129.253 ^fromtag=18001002133
> ^to=sip:+16661012127@10.88.128.116 ^totag=5725 ^method=BYE
> ^ruri=sip:+116661
> 012127@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
>
>