Date: Wed, 10 Oct 2012 09:45:14 -0700 From: Freddie Cash <fjwcash@gmail.com> To: David Wimsey <david@wimsey.us> Cc: freebsd-fs@freebsd.org Subject: Re: Deadlock on zfs import Message-ID: <CAOjFWZ45jLDahejzNSy8qHP=eVNR-oNBqXc56c5x12XODm8CYg@mail.gmail.com> In-Reply-To: <074F3CC1-E29F-4552-840F-A38FDDCC7E76@wimsey.us> References: <074F3CC1-E29F-4552-840F-A38FDDCC7E76@wimsey.us>
next in thread | previous in thread | raw e-mail | index | archive | help
If you boot to single-user mode, disable the auto-import of pools (zfs_enable=no in rc.conf), boot to multi-user, start top in one terminal, and then manually import the pool in another window, and watch top out, does it run out of RAM (putting everything into wired)? You're running dedupe with only 4 GB of RAM, with pools over 90% full. My guess is that it's running out of ARC space trying to import the pool and load the DDT (dedupe table). The above test will show that to be the case (wired memory goes to 100% and system locks up). If that's the case, the only solution I've found is to stick more RAM into the box. If the cause of the "can't import due to running out of ARC" is that you were destroying a ZFS filesystem that had dedupe enabled, then you can try upgrading to 9-STABLE and add the "zfs features" patch that was posted here last week. That will run the "zfs destroy" process in the background and allow the pool to import. It worked for us ("zfs destroy" of a 1 TB filesystem locked up our pool; but the background destroy feature let us work around it for importing). -- Freddie Cash fjwcash@gmail.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOjFWZ45jLDahejzNSy8qHP=eVNR-oNBqXc56c5x12XODm8CYg>