On Thu, May 23, 2013 at 11:11:04PM +0200, Konrad Neuwirth wrote: > Okay, this is getting more puzzling. > Am 23.05.2013 um 03:50 schrieb yancm: > > > On 2013-05-22 19:07, Konrad Neuwirth wrote: > >> Hello everyone, > > I am pretty sure you will need to compile this into a new kernel. > > I have used: > > options NKMEMPAGES=98352 > > options NMBCLUSTERS=65568 > > I did. We are running the new kernel now, and it contains the following: > > options NKMEMPAGES=98352 > options NMBCLUSTERS=262140
This probably won't help with the particular problem at hand, but I will make a few general observations about clusters. 262140 clusters is about 512 megabytes. Typically no less than a quarter of it is wasted because the kernel loads the 2kB buffers with 1500-byte ethernet frames. I figure there's a lot more waste than that because you may have hundreds or thousands of clusters dormant on receive rings, clusters containing runty packets, etc. Ignoring waste and overhead for a minute, 512 megs is enough memory to buffer more than 4 seconds of packets if you're receiving them at 1 gigabit/second. If your box is just a router and it's not forwarding more than 1 Gb/s, you don't ordinarily need or want to buffer so many packets. For a box with many active socket servers, it may be reasonable to buffer >4 seconds of packets, however, it seems to me that the kernel should shift packets from the kernel's maps & limits and onto the user servers' maps & limits much more aggressively than it does, today. So you see there is lots of room for improvement. Dave -- David Young [email protected] Urbana, IL (217) 721-9981
