[asterisk-users] UDP buffer overflows?

Shaun Ruffell sruffell at digium.com
Fri Dec 10 18:57:07 UTC 2010


On 12/10/2010 12:28 PM, Steve Davies wrote:
> On 10 December 2010 17:33, Steve Davies <davies147 at gmail.com> wrote:
>> On 10 December 2010 17:21, Shaun Ruffell <sruffell at digium.com> wrote:
>>> On 12/10/2010 11:02 AM, Steve Davies wrote:
>>>> On 10 December 2010 16:45, Steve Davies <davies147 at gmail.com> wrote:
>>>>> Hi,
>>>>>
>>>>> On one of our asterisk systems that is quite busy, we are seeing the
>>>>> following from 'netstat -s':
>>>>>
>>>>> Udp:
>>>>>    17725210 packets received
>>>>>    36547 packets to unknown port received.
>>>>>    44017 packet receive errors
>>>>>    17101174 packets sent
>>>>>    RcvbufErrors: 44017                  <--- this
>>>>>
>>>> [snip]
>>>>>
>>>>>  net.core.rmem_max = 1048575
>>>>>  net.core.wmem_max = 1048575
>>>>>  net.core.rmem_default = 1048575
>>>>>  net.core.wmem_default = 1048575
>>>>>  net.core.optmem_max = 1048575
>>>>>  net.core.netdev_max_backlog = 10000
>>>>>
>>>>
>>>> Additional question - Do I need to restart Asterisk for these settings
>>>> to apply to SIP? I have not done so yet, and further reading suggests
>>>> that this is a per-process buffer and may be assigned when the
>>>> listener is created.
>>>>
>>>
>>> I had to double check myself in the kernel sources (in
>>> net/core/sock.c:sock_init_data), but yes you will need to recreate the
>>> socket for the rmem_default option to take effect.
>>>
>>> I was just about to ask if changing the sysctl changed the frequency
>>> that you see the error counter increment when I saw your follow on.
>>>
>>> Cheers,
>>> Shaun
>>
>> Thanks for making the extra effort Shaun :)  I will restart Asterisk
>> when I get a chance, and re-check.
>>
>> Regards,
>> Steve
>>
> 
> False alarm?
> 
> FYI, it seems that the issue is not at-all what we thought.
> 
> It transpires that the unit is an old Asterisk 1.2 system, and that
> the DNS server that the unit had been pointed to had been taken out of
> service. This caused lots of threads to back-up while attempting to
> resolve things, and this dragged down the whole of asterisk, seemingly
> to the point where it was not reading UDP data out of its buffers fast
> enough!
> 

Ahh...this makes complete sense then.  Thanks for following up.

-- 
Shaun Ruffell
Digium, Inc. | Linux Kernel Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: www.digium.com & www.asterisk.org



More information about the asterisk-users mailing list