Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Apr 1999 18:56:43 -0400 (EDT)
From:      mwlucas@exceptionet.com
To:        stable@freebsd.org
Subject:   nmbclusters=4096 doesn't increase mbufs
Message-ID:  <199904222256.SAA12478@easeway.com>

next in thread | raw e-mail | index | archive | help
Hello,

We have a 2.2.8-stable box running IPFilter.  This box keeps runninng out
of mbufs very quickly.

We have a kernel (full config below) that includes the following lines:

maxusers	256
options         "NMBCLUSTERS=4096"

This should give us a whole heap of mbufs.

A netstat -m, however, shows us:

scooby# netstat -m
136 mbufs in use:
        130 mbufs allocated to data
        1 mbufs allocated to packet headers
        4 mbufs allocated to protocol control blocks
        1 mbufs allocated to socket names and addresses
128/132 mbuf clusters in use
281 Kbytes allocated to network (97% in use)
0 requests for memory denied
0 requests for memory delayed
0 calls to protocol drain routines

This is less than 30 seconds after boot.

Shouldn't the extra mbufs show up here?  They do my other IPFilter boxes.
What silly little switch am I missing?

Full kernel config follows.

Thanks,
ml

scooby# cd /sys/i386/conf
scooby# cat TEST
#
# GENERIC -- Generic machine with WD/AHx/NCR/BTx family disks
#
# For more information read the handbook part System Administration ->
# Configuring the FreeBSD Kernel -> The Configuration File.
# The handbook is available in /usr/share/doc/handbook or online as
# latest version from the FreeBSD World Wide Web server
# <URL:http://www.FreeBSD.ORG/>;
#
# An exhaustive list of options and more detailed explanations of the
# device lines is present in the ./LINT configuration file. If you are
# in doubt as to the purpose or necessity of a line, check first in LINT.
#
#       $Id: GENERIC,v 1.77.2.28 1998/09/26 17:36:14 wpaul Exp $

machine         "i386"
#cpu            "I386_CPU"
#cpu            "I486_CPU"
cpu             "I586_CPU"
#cpu            "I686_CPU"
ident           TEST
maxusers        256

options         "NMBCLUSTERS=4096"
#options        MATH_EMULATE            #Support for x87 emulation
options         INET                    #InterNETworking
options IPFILTER_LKM
options IPFILTER_LOG
options         FFS                     #Berkeley Fast Filesystem
#options        NFS                     #Network Filesystem
#options                MSDOSFS                 #MSDOS Filesystem
#options                "CD9660"                #ISO 9660 Filesystem
options         PROCFS                  #Process filesystem
options         "COMPAT_43"             #Compatible with BSD 4.3 [KEEP
THIS!]
#options                SCSI_DELAY=15           #Be pessimistic about Joe
SCSI device
options         BOUNCE_BUFFERS          #include support for DMA bounce
buffers
#options        UCONSOLE                #Allow users to grab the console
options         FAILSAFE                #Be conservative
options         USERCONFIG              #boot -c editor
#options        VISUAL_USERCONFIG       #visual boot -c editor

config          kernel  root on wd0

controller      isa0
controller      eisa0
controller      pci0

controller      fdc0    at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk            fd0     at fdc0 drive 0
#disk           fd1     at fdc0 drive 1
# Unless you know very well what you're doing, leave ft0 at drive 2, or
# remove the line entirely if you don't need it.  Trying to configure
# it on another unit might cause surprises, see PR kern/7176.
#tape           ft0     at fdc0 drive 2

options         "CMD640"        # work around CMD640 chip deficiency
controller      wdc0    at isa? port "IO_WD1" bio irq 14 vector wdintr
disk            wd0     at wdc0 drive 0
#disk           wd1     at wdc0 drive 1

#controller     wdc1    at isa? port "IO_WD2" bio irq 15 vector wdintr
#disk           wd2     at wdc1 drive 0
#disk           wd3     at wdc1 drive 1

options         ATAPI           #Enable ATAPI support for IDE bus
options         ATAPI_STATIC    #Don't do it as an LKM
device          wcd0            #IDE CD-ROM
#device         wfd0            #IDE floppy (LS-120)

# A single entry for any of these controllers (ncr, ahb, ahc, amd) is
# sufficient for any number of installed devices.

#controller     ncr0
#controller     amd0
#controller     ahb0
#controller     ahc0
#controller     dpt0
#controller     bt0     at isa? port "IO_BT0" bio irq ? vector bt_isa_intr
#controller     uha0    at isa? port "IO_UHA0" bio irq ? drq 5 vector
uhaintr
#controller     aha0    at isa? port "IO_AHA0" bio irq ? drq 5 vector
ahaintr
controller      aic0    at isa? port 0x340 bio irq 11 vector aicintr
#controller     nca0    at isa? port 0x1f88 bio irq 10 vector ncaintr
#controller     nca1    at isa? port 0x350 bio irq 5 vector ncaintr
#controller     sea0    at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector
seaintr

#options                DPT_MEASURE_PERFORMANCE # Required by DPT driver??
#options                DPT_VERIFY_HINTR        # Some hardware must have
it!
#options                DPT_TRACK_CCB_STATES    # Some hardware must have
it!
#options                DPT_HANDLE_TIMEOUTS     # Some hardware must have
it!
#options                DPT_TIMEOUT_FACTOR=4    # Some hardware needs more

controller      scbus0

#device         sd0

#device         od0     #See LINT for possible `od' options.

#device         st0

#device         cd0     #Only need one of these, the code dynamically grows

#device         wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr
#device         mcd0    at isa? port 0x300 bio irq 10 vector mcdintr

#controller     matcd0  at isa? port 0x230 bio

#device         scd0    at isa? port 0x230 bio

# syscons is the default console driver, resembling an SCO console
device          sc0     at isa? port "IO_KBD" tty irq 1 vector scintr
# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device         vt0     at isa? port "IO_KBD" tty irq 1 vector pcrint
#options                XSERVER                 # support for X server
#options                FAT_CURSOR              # start with block cursor
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT
lines
#options                PCVT_SCANSET=2          # IBM keyboards are non-std

# Mandatory, don't remove
device          npx0    at isa? port "IO_NPX" flags 0x1 irq 13 vector
npxintr

#
# Laptop support (see LINT for more options)
#
#device         apm0    at isa? disable # Advanced Power Management
#options                APM_BROKEN_STATCLOCK    # Workaround some buggy APM
BIOS
# PCCARD (PCMCIA) support
#controller     card0
#device         pcic0   at card?
#device         pcic1   at card?

device          sio0    at isa? port "IO_COM1" tty irq 4 vector siointr
device          sio1    at isa? port "IO_COM2" tty irq 3 vector siointr
#device         sio2    at isa? disable port "IO_COM3" tty irq 5 vector
siointr
#device         sio3    at isa? disable port "IO_COM4" tty irq 9 vector
siointr

device          lpt0    at isa? port? tty irq 7 vector lptintr
#device         lpt1    at isa? port? tty
#device         mse0    at isa? port 0x23c tty irq 5 vector mseintr

#device         psm0    at isa? port "IO_KBD" conflicts tty irq 12 vector
psmintr

# Order is important here due to intrusive probes, do *not* alphabetize
# this list of network interfaces until the probes have been fixed.
# Right now it appears that the ie0 must be probed before ep0. See
# revision 1.20 of this file.
#device de0
device fxp0
#device tl0
#device tx0
#device vx0
#device xl0

#device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 vector edintr
#device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000 vector ieintr
#device ep0 at isa? port 0x300 net irq 10 vector epintr
#device ex0 at isa? port? net irq? vector exintr
#device fe0 at isa? port 0x300 net irq ? vector feintr
#device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr
#device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr
#device ze0 at isa? port 0x300 net irq 5 iomem 0xd8000 vector zeintr
#device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr
#device cs0 at isa? disable port 0x300 net irq ? vector csintr

pseudo-device   loop
pseudo-device   ether
pseudo-device   log
#pseudo-device  sl      1
#pseudo-device  ppp     1
#pseudo-device  vn      1
#pseudo-device  tun     1
pseudo-device   pty     16
#pseudo-device  gzip            # Exec gzipped a.out's

# KTRACE enables the system-call tracing facility ktrace(2).
# This adds 4 KB bloat to your kernel, and slightly increases
# the costs of each syscall.
options         KTRACE          #kernel tracing

# This provides support for System V shared memory.
#

options         SYSVSHM
options         SYSVMSG
options         SYSVSEM

#Berkeley packet filter
pseudo-device   bpfilter        4


----- End of forwarded message from Brett Hansen -----

-- 
Michael Lucas			|
Exceptionet, Inc.		|	www.exceptionet.com
"Exceptional Networking"	|


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199904222256.SAA12478>