Memory leak after a burst of route changes (bird v2.0.8)

bird bird bird.terid at gmail.com
Mon Jun 13 18:17:41 CEST 2022


Dear experts,

We have a few routers running bird with BGP with route-reflector (full
mesh) which has approximately 2K routes.
Recently, the RAM usage of bird daemon increased to a few GBs, while
normally the RAM usage is only a few MBs.

The output of "show memory" showed using only a few KBs of memory, so it
looks like some leak happened in the daemon.

I wasn't able to find the cause of the event which led to the memory
increase. The only lead I had is seeing a large amount of route changes to
the routing table in short time. The output of "birdc show proto all all":

global_routing_0_kernel Kernel     global_routing_0 up     2022-05-01

      Export updates:      748274310          0          0        ---  748274310


After the event stopped, the RAM usage of bird did not reduce for a few
days until restarting bird daemon.

Unfortunately I don't have additional logs or outputs from the time of the
issue.
However I was able to reproduce a similar scenario by adding a large amount
of BGP routes at one burst.
The route changes caused the RAM usage to increase to 500MB, and after
removing the routes the RAM usage stayed 500MB and didn't reduce
automatically until restart of bird daemon.

I see a connection between the reproduction and the event that happened
in our environment, therefore I hope that it can be enough information to
investigate the memory leak.
Any assistance will be highly appreciated.

Many thanks!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20220613/a8acfafd/attachment.htm>


More information about the Bird-users mailing list