amd64/168342: mbuf exhaustion hangs all daemons in keglimit
state
John Baldwin
jhb at freebsd.org
Tue May 29 12:48:27 UTC 2012
On Friday, May 25, 2012 4:34:20 pm Ziyan Maraikar wrote:
>
> >Number: 168342
> >Category: amd64
> >Synopsis: mbuf exhaustion hangs all daemons in keglimit state
> >Confidential: no
> >Severity: serious
> >Priority: medium
> >Responsible: freebsd-amd64
> >State: open
> >Quarter:
> >Keywords:
> >Date-Required:
> >Class: sw-bug
> >Submitter-Id: current-users
> >Arrival-Date: Fri May 25 20:40:01 UTC 2012
> >Closed-Date:
> >Last-Modified:
> >Originator: Ziyan Maraikar
> >Release: FreeBSD 9.0-RELEASE amd64
> >Organization:
> Department of computer engineering, University of Peradeniya
> >Environment:
> System: FreeBSD nanuoya.pdn.ac.lk 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue
Jan 3 07:46:30 UTC 2012
root at farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
> HP Proliant DL165 4-core, 8G RAM
> 4x igb NICs -- 1 interface assigned 6 IPv4 aliases.
> 3x 1TB SATA zfs RAID-Z pool (zfs boot)
>
> >Description:
> This machine has been running DHCP, BIND, NFS and, openldap serving a lab of
about 40 machines. The machine recently began to experience very
frequentlockups in all network services including, ssh. The services all hang
in state keglimit, even under very light load. I have tried disbling TSO and
hardware checksum on igb as suggested in related mailing list posts, but it
has no effect.
>
> >How-To-Repeat:
> Several ssh attempts after boot is enough to make all daemons hang in
keglimit.
> # netstat -m
> 25034/1602/26636 mbufs in use (current/cache/total)
> 24892/708/25600/25600 mbuf clusters in use (current/cache/total/max)
> 24642/708 mbuf+clusters out of packet secondary zone in use (current/cache)
> 0/9/9/12800 4k (page size) jumbo clusters in use (current/cache/total/max)
> 0/0/0/6400 9k jumbo clusters in use (current/cache/total/max)
> 0/0/0/3200 16k jumbo clusters in use (current/cache/total/max)
> 56053K/1852K/57905K bytes allocated to network (current/cache/total)
> 0/1697/1209 requests for mbufs denied (mbufs/clusters/mbuf+clusters)
> 0/0/0 requests for jumbo clusters denied (4k/9k/16k)
> 0/0/0 sfbufs in use (current/peak/max)
> 0 requests for sfbufs denied
> 0 requests for sfbufs delayed
> 0 requests for I/O initiated by sendfile
> 0 calls to protocol drain routines
Have you tried increasing kern.ipc.nmbclusters? Alternatively, have you tried
restricting igb to only using 1 queue? It sounds like all your igb interfaces
are allocating all of your mbuf clusters for their receive rings.
--
John Baldwin
More information about the freebsd-amd64
mailing list