Date: Wed, 14 Dec 2005 08:40:44 -0700 From: Scott Long <scottl@samsco.org> To: Gleb Smirnoff <glebius@freebsd.org> Cc: freebsd-stable@freebsd.org Subject: Re: FreeBSD 6.0 panic: kmem_malloc(16384): kmem_map too small: 172728320 total allocated Message-ID: <43A03CFC.6070406@samsco.org> In-Reply-To: <20051214131855.GH59644@FreeBSD.org> References: <20051214132530.3b6daecd@TP51.local> <20051214131855.GH59644@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Gleb Smirnoff wrote: > On Wed, Dec 14, 2005 at 01:25:30PM +0100, Fabian Keil wrote: > F> I triggered a few reproducible panics on FreeBSD 6.0-STABLE. > F> > F> I created a ramdisk with: > F> > F> /sbin/mdconfig -a -t malloc -s 256M -u 10 > F> /sbin/newfs -U /dev/md10 > F> /sbin/mount /dev/md10 /mnt/ramdisk > F> > F> The system has "avail memory = 515932160 (492 MB)" > F> and 1GB swap space. > F> > F> While copying to /mnt/ramdisk trough ftp localhost > F> it got: > > This usually exposes some memory leak in kernel. Can you please do the > following - copy some amount of data to /mnt/ramdisk trough ftp localhost, > and cancel the operation before it panics. > > Then run vmstat -m and vmstat -z, to determine what kind of memory allocation > is leaking. > > While it can mean a memory leak in the kernel, I don't think that's the case here. On i386, only 320MB can be allocated to kernel malloc memory. Much of this space can get consumed with vnodes and other filesystem structures, so trying to allocate 256MB to a ramdisk is likely putting you over the max. I'd suggest instead to use a swap-back disk. It doesn't necessarily mean that the ramdisk pages will live in swap, it just means that they will get managed directly in the bufcache, eliminating the 320MB restriction. Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43A03CFC.6070406>