Date: Thu, 25 Dec 2008 21:10:03 +0100 From: Hartmut Brandt <hartmut.brandt@dlr.de> To: Eugene Grosbein <eugen@kuzbass.ru> Cc: net@freebsd.org Subject: Re: bsnmpd & BGP full view Message-ID: <4953E89B.1060102@dlr.de> In-Reply-To: <20081225193818.GA9210@svzserv.kemerovo.su> References: <20081225193818.GA9210@svzserv.kemerovo.su>
next in thread | previous in thread | raw e-mail | index | archive | help
Eugene Grosbein wrote: > Hi! > > Is there a way to reduce bsnmpd's CPU & memory usage > for BGP router using full view? > > I do not need to deal with routing table via SNMP. > SNMP is needed to monitor interface byte counters only via mrtg. > > bsnmpd grows upto 18Mb for FreeBSD 6.4 and worse, > it hogs CPU while bgpd obtains full view. > Hmm. I just had a look and the version in 6.4 already has the optimized route table (you may confirm that: contrib/bsnmp/snmp_mibII/mibII_route.c should include sys/tree.h). It takes 36 byte per route on a 32-bit machine and should take 52 byte on a 64-bit one. The only way to reduce memory consumption considerably that I can see is to use the kernel routing table directly, but this requires to implement the GETNEXT operation in kernel. In any case it should re-read the kernel table only every 10 minutes and in the mean time monitor the routing socket to update its copy of the table. If of course someone is doing a lot of updates on the kernel table it will receive all these changes and apply them to its copy of the routing table. If the latter is a problem you could disable the routing socket interface and could just rely on the 10 minute re-reads. Between these re-reads you would not see changes to the routing table through SNMP. BTW: how many routes do you have? When I introduced the optimized routing table I tested with 150k routes which was reported to be reasonable at that time. harti
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4953E89B.1060102>