show memory question

Alarig Le Lay alarig at swordarmor.fr
Mon Jan 25 19:37:52 CET 2021


Thank you for your precisions :)

On Mon 25 Jan 2021 10:15:00 GMT, Maria Matejka wrote:
> Hello!
> 
> My first thought would be that BIRD called free() on that memory, not 
> necessarily returning the memory back to the kernel.
> 
> This may change in some new versions with changing at least some of the 
> memory allocations to mmap/munmap. This should help a lot with this 
> specific problem, anyway it is not going to happen in the next version.
> 
> It may also sometimes be possible to run reconfiguration several times 
> to trigger the LibC's internal memory release algorithms, anyway all of 
> this magic is mostly just a cargo cult.
> 
> Maria
> 
> On 1/25/21 8:08 AM, Alarig Le Lay wrote:
> > Hi,
> > 
> > On one of my routers, I needed to free some RAM temporally, so I shut
> > all my BGP sessions. With `birdc show memory` I saw that it should have
> > worked, however htop was still seeing 1.2G used by bird.
> > 
> >   5311 root       20   0 1296M 1220M  1724 S  0.0 61.1 59h01:29 ├─ /usr/sbin/bird -s /run/bird.ctl -c /etc/bird.conf -
> >   5314 root       20   0 1296M 1220M  1724 S  0.7 61.1  6h31:09 │  └─ /usr/sbin/bird -s /run/bird.ctl -c /etc/bird.con
> > 
> > bird> show memory
> > BIRD memory usage
> > Routing tables:     49 MB
> > Route attributes:  842 kB
> > Protocols:         300 kB
> > Total:              50 MB
> > 
> > 
> > So, I added the `disabled` option to my sessions and restarted bird, and
> > then birdc and htop were almost consistent.
> > 
> > 25724 root       20   0  107M 32600  2224 S  0.7  1.6  0:00.62 ├─ /usr/sbin/bird -s /run/bird.ctl -c /etc/bird.conf -
> > 25726 root       20   0  107M 32600  2224 S  0.7  1.6  0:00.16 │  └─ /usr/sbin/bird -s /run/bird.ctl -c /etc/bird.con
> > 
> > bird> show memory
> > BIRD memory usage
> > Routing tables:     28 MB
> > Route attributes:   46 kB
> > Protocols:         304 kB
> > Total:              29 MB
> > 
> > 
> > When I re-enabled the BGP sessions, the RAM utilisation was a bit lower
> > (the original process was two months old).
> > 
> > 25724 root	 20   0 1147M 1072M  2072 R  1.3 53.7  2:33.80 ├─ /usr/sbin/bird -s /run/bird.ctl -c /etc/bird.conf -
> > 25726 root	 20   0 1147M 1072M  2072 S  0.7 53.7  0:07.84 │  └─ /usr/sbin/bird -s /run/bird.ctl -c /etc/bird.con
> > 
> > bird> show memory
> > BIRD memory usage
> > Routing tables:    399 MB
> > Route attributes:  528 MB
> > Protocols:         102 MB
> > Total:            1029 MB
> > 
> > Perhaps bird thinks that some RAM has been freed while it’s not actually
> > the case?
> > 


More information about the Bird-users mailing list