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]

Reply via email to