Freebsd 8.0 kmem map too small

Yoshiaki Kasahara kasahara at
Tue Jun 8 09:11:50 UTC 2010


I'd like to add another instance of similar problems.  I recently
updated my FreeBSD amd64 box with ZFS root and 8GB RAM from 8-STABLE
(as of Mar 1st) to 8.1-PRERELEASE (as of May 27th).  After that, my
box started to crash every couple of days due to kmem_map too small.

Here is a (last week) screenshot of Munin graph about the memory usage
of the box:

In "by month" graph, a white gap at the end of "Week 20" is the update
period from 8-STABLE to 8.1-PRERELEASE I mentioned above.  Before the
upgrade, the system was rock solid without any kmem tuning in
loader.conf (vm.kmem_size was around 2.7GB IIRC).

After the update, I could see that more wired memory was assigned, and
then steep drop (crash) occured.

"by day" graph shows my experiment to bump vm.kmem_size=12G
(recommended somewhere in this thread) and explicitly limit
vfs.zfs.arc_max=2G.  I was surprised because the wired memory quickly
increased over 5GB...

Then I noticed that the default value of vfs.zfs.zio.use_uma was 1 on
amd64, so I turned it off and removed other memory tunings (kmem_size
and arc_max) in loader.conf on Tuesday at 16:00 and rebooted.  It
seems that the usage of wired memory was stablized and no crash since
then with the default kmem_size and arc_max.

Does anyone have any idea about this behavior?

My wild guess is that ZFS/UMA code is not stable on amd64 too, and it
should be turned off by default for 8.1-RELEASE maybe....

Yoshiaki Kasahara
Research Institute for Information Technology, Kyushu University
kasahara at

More information about the freebsd-stable mailing list