rosen@schizo.samsung.com (MFHorn) (12/02/89)
For the third time in about a month, one of our systems ran out of mbuf's. I've been trying to track the problem down, and can only get so far. The system is a Sequent Symmetry 27, Dynix 3.0.12, 24 Meg memory, 300+ Meg swap. From what I can tell by looking at the kernel source, at boot time, the system allocates some mbuf clusters and some mbufs. After that, it creates more clusters as it needs them. Comments in the source say that only _mbinitcl clusters will be allocated, but when the system needs more mbufs, it calls m_clalloc (allocates clusters) and not m_expandorwait (allocates mbufs). What is the difference between an mbuf cluster and an mbuf? Clusters are 12 times the size of an mbuf, but from the output of 'netstat -m' and some of my own nlist'ing, I can't find how this 12 fits in. Mbufs do get created; I can see the number increasing. The number of clusters being used is also increasing. Why does the kernel decide to create more mbufs when there are clusters available? The number of requests for memory denied has not increased, and there have been no requests for clusters denied. The only limitation I can find to the total number of mbuf's the kernel will create is available memory. I'm quite sure the system had not filled it's 300 Meg of swap space. What kernel variable should I increase? My choices seem to be mbinitbufs, mbinitcl or MBCLBYTES. Adthanksvance... -- Andy Rosen | rosen@samsung.com | "I got this guitar Samsung Software America | rosen@samsung.UUCP | and I learned how One Corporate Drive | (508) 685-7200 | to make it talk" Andover, MA 01810 | | -Thunder Road