Date: Mon, 04 Apr 2011 21:10:15 -0400 From: Boris Kochergin <spawk@acm.poly.edu> To: Jeremy Chadwick <freebsd@jdc.parodius.com> Cc: Kostik Belousov <kostikbel@gmail.com>, FreeBSD-STABLE Mailing List <freebsd-stable@freebsd.org> Subject: Re: Kernel memory leak in 8.2-PRERELEASE? Message-ID: <4D9A6BF7.5000106@acm.poly.edu> In-Reply-To: <20110405010148.GA67821@icarus.home.lan> References: <4D972FF7.6010901@acm.poly.edu> <20110402153315.GP78089@deviant.kiev.zoral.com.ua> <4D974393.80606@acm.poly.edu> <4D9A307F.9070408@acm.poly.edu> <20110404224334.GA64297@icarus.home.lan> <4D9A68AA.6040803@acm.poly.edu> <20110405010148.GA67821@icarus.home.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
On 04/04/11 21:01, Jeremy Chadwick wrote: > On Mon, Apr 04, 2011 at 08:56:10PM -0400, Boris Kochergin wrote: >> On 04/04/11 18:43, Jeremy Chadwick wrote: >>> On Mon, Apr 04, 2011 at 04:56:31PM -0400, Boris Kochergin wrote: >>>> On 04/02/11 11:41, Boris Kochergin wrote: >>>>> On 04/02/11 11:33, Kostik Belousov wrote: >>>>>> On Sat, Apr 02, 2011 at 10:17:27AM -0400, Boris Kochergin wrote: >>>>>>> Ahoy. This morning, I awoke to the following on one of my servers: >>>>>>> >>>>>>> pid 59630 (httpd), uid 80, was killed: out of swap space >>>>>>> pid 59341 (find), uid 0, was killed: out of swap space >>>>>>> pid 23134 (irssi), uid 1001, was killed: out of swap space >>>>>>> pid 49332 (sshd), uid 1001, was killed: out of swap space >>>>>>> pid 69074 (httpd), uid 0, was killed: out of swap space >>>>>>> pid 11879 (eggdrop-1.6.19), uid 1001, was killed: out of swap space >>>>>>> ... >>>>>>> >>>>>>> And so on. >>>>>>> >>>>>>> The machine is: >>>>>>> >>>>>>> FreeBSD exodus.poly.edu 8.2-PRERELEASE FreeBSD 8.2-PRERELEASE #2: Thu >>>>>>> Dec 2 11:39:21 EST 2010 >>>>>>> spawk@exodus.poly.edu:/usr/obj/usr/src/sys/EXODUS amd64 >>>>>>> >>>>>>> 10:13AM up 120 days, 20:06, 2 users, load averages: 0.00, 0.01, 0.00 >>>>>>> >>>>>>> The memory line from top intrigued me: >>>>>>> >>>>>>> Mem: 16M Active, 48M Inact, 6996M Wired, 229M Cache, 828M Buf, >>>>>>> 605M Free >>>>>>> >>>>>>> The machine has 8 gigs of memory, and I don't know what all that wired >>>>>>> memory is being used for. There is a large-ish (6 x 1.5-TB) ZFS RAID-Z2 >>>>>>> on it which has had a disk in the UNAVAIL state for a few months: >>>>>>> >>>>>>> # zpool status >>>>>>> pool: home >>>>>>> state: DEGRADED >>>>>>> status: One or more devices could not be used because the label is >>>>>>> missing or >>>>>>> invalid. Sufficient replicas exist for the pool to continue >>>>>>> functioning in a degraded state. >>>>>>> action: Replace the device using 'zpool replace'. >>>>>>> see: http://www.sun.com/msg/ZFS-8000-4J >>>>>>> scrub: none requested >>>>>>> config: >>>>>>> >>>>>>> NAME STATE READ WRITE CKSUM >>>>>>> home DEGRADED 0 0 0 >>>>>>> raidz2 DEGRADED 0 0 0 >>>>>>> ada0 ONLINE 0 0 0 >>>>>>> ada1 ONLINE 0 0 0 >>>>>>> ada2 ONLINE 0 0 0 >>>>>>> ada3 ONLINE 0 0 0 >>>>>>> ada4 ONLINE 0 0 0 >>>>>>> ada5 UNAVAIL 0 85 11 experienced >>>>>>> I/O failures >>>>>>> >>>>>>> errors: No known data errors >>>>>>> >>>>>>> "vmstat -m" and "vmstat -z" output: >>>>>>> >>>>>>> http://acm.poly.edu/~spawk/vmstat-m.txt >>>>>>> http://acm.poly.edu/~spawk/vmstat-z.txt >>>>>>> >>>>>>> Anyone have a clue? I know it's just going to happen again if I reboot >>>>>>> the machine. It is still up in case there are diagnostics for >>>>>>> me to run. >>>>>> Try r218795. Most likely, your issue is not leak. >>>>> Thanks. Will update to today's 8-STABLE and report back. >>>>> >>>>> -Boris >>>> The problem persists, I'm afraid, and seems to have crept up a lot >>>> more quickly than before: >>>> >>>> # uname -a >>>> FreeBSD exodus.poly.edu 8.2-STABLE FreeBSD 8.2-STABLE #3: Sat Apr 2 >>>> 11:48:43 EDT 2011 >>>> spawk@exodus.poly.edu:/usr/obj/usr/src/sys/EXODUS amd64 >>>> >>>> Mem: 314M Active, 955M Inact, 6356M Wired, 267M Cache, 828M Buf, 18M Free >>>> >>>> Any ideas for a diagnostic recourse? >>> Can you please provide the details I requested here? Thanks. >>> >>> http://lists.freebsd.org/pipermail/freebsd-stable/2011-April/062147.html >>> >> No swap, blank /boot/loader.conf, default /etc/sysctl.conf. I'm >> going to try this ARC tuning thing. I vaguely recall several claims >> that tuning wasn't necessary anymore on amd64 systems with the >> amount of memory mine has, but that's obviously not the case. > Given that you don't have swap (again: very, very bad idea), your > applications crashing due to there not being any swap space is expected: > no place to swap them out to. > > All you should need to set, in /boot/loader.conf, is: > > vfs.zfs.arc_max > > For example, if you want to limit the ARC to only use up to 2GB of RAM: > > vfs.zfs.arc_max="2048M" Thanks. I will attempt just this and report back. -Boris > This would reserve (on an 8GB machine) approximately ~6GB of RAM for > userland applications, the kernel, network buffers/mbufs, etc.. > > Finally, please note that most of the stuff you'll read online for ZFS > tuning on FreeBSD is outdated with 8.2. E.g. you should not need to set > vm.kmem_size and you should never need to adjust vm.kmem_size_max. >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D9A6BF7.5000106>