device driver memory leak in 5.1-20030726?

Mark Blackman mark at
Sat Jul 26 13:06:06 PDT 2003

Hi all,

I'm seeing the same 'kmem_malloc(4096): kmem_map too small: XXXXX total 
messages that a few other have reported.

Now, I understand that setting kern.vm.kmem.size larger is supposed to
help, but I'm using a 128M Celeron-650 i386 system with no unusual
devices (expect perhaps a Speedtouch ADSL modem) and I've progressively
set the kern.vm.kmem.size to larger and larger values, starting at
64MB, then 96MB and finally 128MB.

As I approached the physical memory size of the machine (128MB),
the panic problem failed to reappear, but I got another problem whereby 
the kernel
appeared to take over all of memory (i.e. processes were gradually
all getting swapped out, but no other process seemed to be taking
the memory) within about 30 minutes of boot-up.

I noticed in the final minutes of the case where kmem.size=128MB (i.e. 
of physical RAM), that kern.malloc was reporting 100M of 'devbuf' memory
allocations and that it was gradually increasing at about 25k per
second. I can't believe this is normal behaviour, but I'm no
expert. I believe the devbuf allocations are specifically for
device drivers.

 From these symptoms, I'm speculating that one or more device drivers
are producing kernel memory leaks and either triggering the
'kmem_map too small' messages or pushing all of the userland processes
out of the way. Is this a reasonable interpretation?

Does anyone else see symptoms that might lead to this conclusion?

As a side note, I also briefly witnessed scrolling
errors like 'ad0: out of memory in start'.

I have no idea if this implies the 'ad' driver is an issue.

Mark Blackman
Exonetric Consulting

More information about the freebsd-current mailing list