Date: Sat, 22 Nov 1997 11:08:53 -0800 From: David Greenman <dg@root.com> To: "Gregory, Scott, SrA, SAF/AADXT" <gregorys@af.pentagon.mil> Cc: "'freebsd-questions@freebsd.org'" <freebsd-questions@FreeBSD.ORG> Subject: Re: Mbuf allocation or lack there of Message-ID: <199711221908.LAA07120@implode.root.com> In-Reply-To: Your message of "Thu, 20 Nov 1997 09:15:32 EST." <A1D69BFE912ED111A5BB00A0C95DDDDCA1E6@afp1.hq.af.mil>
next in thread | previous in thread | raw e-mail | index | archive | help
>I submitted a question to the group a couple of weeks ago about my >system crashing with a " /kernel: Out of mbuf clusters - increase >maxusers! " error. Taking a suggestion from someone on this mailing >list I increased my max users to "maxusers 128" and added >"options NMBCLUSTERS=4096". This kernel has been running for 14 >days and I have again gotten the " /kernel: Out of mbuf clusters - >increase maxusers! " error, however my system did not reboot. > >The output of netstat -m is: > >715 mbufs in use: > 351 mbufs allocated to data > 357 mbufs allocated to packet headers > 6 mbufs allocated to protocol control blocks > 1 mbufs allocated to socket names and addresses >334/1136 mbuf clusters in use >2361 Kbytes allocated to network (32% in use) >0 requests for memory denied >0 requests for memory delayed >0 calls to protocol drain routines > >Yesterday this was running 80-90% in use. The number of clusters in use >continues to increase ( xxx/1136 ). Yesterday it only had 984 clusters >which increaseed to 1026 which increased to the current 1136. When I >was running a slightly modified generic kernel netstat -m ouput was: > >714 mbufs in use: > 685 mbufs allocated to data > 23 mbufs allocated to packet headers > 5 mbufs allocated to protocol control blocks > 1 mbufs allocated to socket names and addresses >683/2318 mbuf clusters in use >4725 Kbytes allocated to network (30% in use) >0 requests for memory denied >0 requests for memory delayed >0 calls to protocol drain routines > >As you can see the mbuf clusters in use was up to 2318. You're misinterpreting the numbers. The second number is the maximum that have been in-use since system startup. The first number is the current number in use. >1. Does the system dynamically allocate mbuf clusters as it needs them? Yes, up to the limit of NMBCLUSTERS. >2. Is there any way to find out what the maximum allocation will be? If you've specified the NMBCLUSTERS option, then it will be that value. Otherwise, it is a formula based on maxusers. >3. Did I get the "Out of mbuf clusters" error yesterday because the >system couldn't allocate clusters fast enough or because it reached the >hard limit? It reached the hard limit. This is bad and can result in the system crashing. >4. Are my kernel settings sufficient? Apparantly not. You need to specify an even larger amount for NMBCLUSTERS, but beware that they each take 2K of RAM. >I am running a web server with 2.2.2-R on a PPro 200, 96 meg RAM. I am >also running Apache 1.2.4 which at times has 200+ clients connected. You have a (very) busy machine. 96MB of RAM is probably not enough. -DG David Greenman Core-team/Principal Architect, The FreeBSD Project
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199711221908.LAA07120>