Henning Brauer wrote:
* Per Engelbrecht <[EMAIL PROTECTED]> [2006-08-31 11:55]:
Hi all,
- OpenBSD 4.0 (build on snap from aug. 28 2006 23:10)
- i386
- 'netstat -m', 'top' and 'dmesg' below.
I've just rebuild one of my BGP routers and I'm having a real bad
memory/performance issue with this box.
(yes, Im running -current in production due to a Intel Pro/1000GT Quard
card I've had to put in the box; only supported in -current).
despite all the yammering by some pplz that is not a problem at all.
I know, but to avoid the lecture I mentioned it up front.
I've read the cvs logs as well and besides, both bgpd and pf has been
running rock-steady for a very, very long time now so I was confident
turning the power on .. as usual :)
The box seems to choke on <whatever> once and awhile and the problem
seems to be memory related.
If I e.g. ping one of my peers, I see this:
...
ping: Could only allocate a receive buffer of 8191 bytes (default 65535)
...
so you are running out of mbufs.
Do not like the sound of that, so I did a netstat -m:
4517 mbufs in use:
4500 mbufs allocated to data
12 mbufs allocated to packet headers
5 mbufs allocated to socket names and addresses
4495/5886/6144 mbuf clusters in use (current/peak/max)
so, the reason is mbuf cluster use.
two possibilities:
1) your mbuf cluster is high, but stable
2) it is constantly rising
hope for 1).
you have quite a few network interfaces in there. if >=1 is connected
to a slowish link and you have to buffer a lot, you could just use up
that many mbuf clusters.
try to raise kern.maxclusters. monitor your mbuf cluster usage using
The kern.maxclusters are currently 6144 (standard) on the box. If I
raise it to e.g. 16384 or 12288 I get a:
"sysctl: top level name 16384 is invalid"
- what would be a correct stepwise increasement of the state/value ?
BTW, is kern.maxclusters a 'mbuf cluster' sysctl MIB "analogy" ?
More BTW, what is the size of a 'mbuf cluster' i obsd ?
netstat -m.
if it is 2) there is a leak somewhere, and these are incredibly hard to
track down.
The first peer is running 100Mbps / 'ifconfig' = (100baseTX full-duplex)
The second peer is running 60Mbps / 'ifconfig' = (1000baseT -duplex)
The third peer is running 100Mbps / 'ifconfig' = (100baseTX full-duplex)
Our second peer is running 60Mbps due to some sort of
contract/pricing/whatever reason and this "awkward" speed mode is set on
their side / their router.
Could the be mbuf thief/reason ?
Thank you Henning.
/per
[EMAIL PROTECTED]