BIRD memory usage
Pavel Tvrdík
pavel.tvrdik at nic.cz
Tue Sep 6 17:46:02 CEST 2016
Hi Justin,
On 2016-09-05 16:21, Justin Cattle wrote:
> Hi,
>
> A colleague of mine reported a memory usage issue with the bird daemon
> last year, which resulted in a request for a core dump, but we never
> followed it up.
> I'd like to re-open this discussion and see if anything can be done to
> fix it.
>
> I'll provide some information regarding a production environment,
> where the problem is most obvious. But any further details and
> diagnostics will have to come from our lab environment.
> Please note, in production we mostly run 1.5, but in the lab we are on
> 1.6, however we see the same symptoms in both environments on both
> versions.
>
> The symptoms are twofold, but potentially related - greater than
> expected memory usage reported by the bird daemon itself for the
> number of routes, but also massively more memory actually used by the
> daemon process.
>
> When the process is started, we see "normal" memory usage, which then
> seems to grow indefinitely in distinct steps, separated by a period of
> a few hours.
>
> In production, this consumes most of the 32G of memory until the
> kernel oom-killer to intervenes.
>
>> Production:
>>
>> BIRD 1.5.0 ready.
>>
>> bird> show memory
>>
>> BIRD memory usage
>>
>> Routing tables: 1405 MB
>>
>> Route attributes: 84 kB
>>
>> ROA tables: 192 B
>>
>> Protocols: 45 kB
>>
>> Total: 1405 MB
>>
>> bird> show route count
>>
>> 2273 of 2273 routes for 1142 networks
>
>> # ps u -p 3441
>>
>> USER PID %CPU %MEM VSZ RSS TTY STAT START TIME
>> COMMAND
>>
>> bird 3441 0.1 55.4 18275124 18241540 ? Ssl Aug10 73:39
>> /usr/sbin/bird -f -u bird -g bird
>
> ..so that's ~1.4G reported by bird, and ~18G actually consumed by the
> process.
>
>> Lab:
>>
>> BIRD 1.6.0 ready.
>>
>> bird> show mem
>>
>> BIRD memory usage
>>
>> Routing tables: 693 MB
>>
>> Route attributes: 28 kB
>>
>> ROA tables: 192 B
>>
>> Protocols: 41 kB
>>
>> Total: 693 MB
>>
>> bird> show route count
>>
>> 175 of 175 routes for 91 networks
>
>> # ps u -p 29085
>>
>> USER PID %CPU %MEM VSZ RSS TTY STAT START TIME
>> COMMAND
>>
>> bird 29085 0.0 14.9 4994852 4915032 ? Ssl Aug05 19:41
>> /usr/sbin/bird -f -u bird -g bird
Thanks for this report. I successfully simulated this weird behavior
too. The setting of kernel protocol with some export filter will cause
memory leak bug. I prepared fixing commits in branch
`krt-export-filtr-fix'
https://gitlab.labs.nic.cz/labs/bird/commits/krt-export-filtr-fix
Can you please download it and confirm, that the bug is fixed?
Best,
Pavel
>
> ..so that's ~ 0.7G reported by bird, and ~5G actually consumed by the
> process.
>
> I also attached the bird config from the lab.
>
> Any help is much appreciated!
> Thanks.
>
> Cheers,
> Just
> Notice: This email is confidential and may contain copyright material
> of members of the Ocado Group. Opinions and views expressed in this
> message may not necessarily reflect the opinions and views of the
> members of the Ocado Group.
>
> If you are not the intended recipient, please notify us immediately
> and delete all copies of this message. Please note that it is your
> responsibility to scan this message for viruses.
>
> Fetch and Sizzle are trading names of Speciality Stores Limited and
> Fabled is a trading name of Marie Claire Beauty Limited, both members
> of the Ocado Group.
>
> References to the “Ocado Group” are to Ocado Group plc (registered
> in England and Wales with number 7098618) and its subsidiary
> undertakings (as that expression is defined in the Companies Act 2006)
> from time to time. The registered office of Ocado Group plc is Titan
> Court, 3 Bishops Square, Hatfield Business Park, Hatfield, Herts. AL10
> 9NE.
More information about the Bird-users
mailing list