FreeBSD 6.0 panic: kmem_malloc(16384): kmem_map too small:
172728320 total allocated [solved]
Fabian Keil
freebsd-listen at fabiankeil.de
Wed Dec 14 08:33:18 PST 2005
Scott Long <scottl at samsco.org> wrote:
> 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.
I guess you're right. I can fill a 256MB swap-backed disk without panic
and without swapping.
Before ftp localhost:
last pid: 652; load averages: 0.02, 0.09, 0.07 up 0+00:07:16
17:12:05 37 processes: 1 running, 36 sleeping
CPU states: 0.0% user, 0.0% nice, 0.0% system, 0.4% interrupt,
99.6% idle Mem: 11M Active, 12M Inact, 18M Wired, 11M Buf, 453M Free
Swap: 999M Total, 999M Free
After ftp localhost:
last pid: 666; load averages: 0.20, 0.12, 0.08 up 0+00:09:05
17:13:54 36 processes: 1 running, 35 sleeping
CPU states: 0.0% user, 0.0% nice, 0.0% system, 0.4% interrupt,
99.6% idle Mem: 244M Active, 150M Inact, 73M Wired, 27M Cache, 60M Buf, 984K Free
Swap: 999M Total, 999M Free
After removal of the swap-backed disk:
last pid: 690; load averages: 0.00, 0.01, 0.03 up 0+00:17:53
17:22:42 34 processes: 1 running, 33 sleeping
CPU states: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt,
100% idle Mem: 15M Active, 76M Inact, 43M Wired, 13M Cache, 60M Buf, 347M Free
Swap: 999M Total, 999M Free
Thanks for your time Gleb and Scott.
Fabian
--
http://www.fabiankeil.de/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20051214/69d41911/signature.bin
More information about the freebsd-stable
mailing list