8.1-RELEASE: [zfs] [kmem] zfs destroy snapshot results in panic: kmem_map too small

Jeremy Chadwick freebsd at jdc.parodius.com
Fri Sep 24 12:33:33 UTC 2010

On Fri, Sep 24, 2010 at 01:24:46PM +0200, Leroy van Logchem wrote:
> -----------------------------------------------------------------------------
> Problem          : Kernel panic "kmem_malloc(114688): kmem_map too small
> Trigger          : Destroy ZFS snapshots (each bigger >80GB)
> Version          : FreeBSD 8.1-RELEASE (GENERIC AMD64 but with DDB)
> ...
> panic: kmem_malloc(114688): kmem_map too small: 3307884544 total allocated
> cpuid = 2
> KDB: stack backtrace:
> db_trace_self_wrapper() at db_trace_self_wrapper+0x2a
> panic() at panic+0x182
> kmem_malloc() at kmem_malloc+0x5b5
> uma_large_malloc() at uma_large_malloc+0x4a
> malloc() at malloc+0x14b
> zio_compress_data() at zio_compress_data+0xa2
> zio_write_bp_init() at zio_write_bp_init+0xc2
> zio_exectute() at zio_execute+0x77
> taskq_run_safe() at taskq_run_safe+0x13
> taskqueue_run() at taskqueue_run+0x91
> taskqueue_thread_loop() at taskqueue_thread_loop+0x3f
> fork_exit() at fork_exit+0x12a
> fork_trampoline() at fork_trampoline+0xe
> --- trap 0, rip = 0, rsp = 0xffffff81261edd30, rbp = 0 ---
> panic: kmem_malloc(118784): kmem_map too small: 3307884544 total allocated
> cpuid = 2

Can you please provide uname -a output?  The built date of your kernel
matters in this case.  The panic looks like uma(9) is in use, which was
enabled by default and then later reverted/removed, so this is why the
build date matters.

If "sysctl vfs.zfs.zio.use_uma" shows a value of 1, then please put this
in your /boot/loader.conf to disable uma use:

# Disable UMA (uma(9)) for ZFS; amd64 was moved to exclusively use UMA
# on 2010/05/24.
# http://lists.freebsd.org/pipermail/freebsd-stable/2010-June/057162.html

If you upgrade to RELENG_8, you won't have to set this.

As for your questions under "Questions" -- yes you have to tune, no
there aren't really "reliable guidelines" and I've been asking for such
since ZFS came out for FreeBSD, but your values look fine.

| Jeremy Chadwick                                   jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |

More information about the freebsd-stable mailing list