This is an old revision of the document!
Note that a much revised and newer port of ZFS exists in 8-CURRENT, which solves most of the problems listed here. It's currently not staged to be backported to 7.x.
Using and testing ZFS on FreeBSD is encouraged and does both it and FreeBSD good to have as many users as possible, to try to find and solve problems with it. Just because the following list exists doesn't mean you shouldn't use ZFS or shouldn't complain about these problems (and other problems you encounter). The purpose of this page is to be a guide for people wanting to implement ZFS in production. The list only lists known problems resulting in a complete loss of functionality, not “tuning problems” or performance problems.
- Every machine running ZFS needs tuning to improve stability against out-of-memory kernel panics, particularly on the i386 architecture. Unfortunately, ZFS is very memory hungry by design and it looks like the default kernel memory configuration in FreeBSD is too conservative for ZFS's liking.
- Heavy IO activity between ZFS and another file system (like rsyncing between ZFS and UFS or between ZFS and NFS) may result in a deadlock. Symptoms: processes wanting to do IO on a ZFS file system get stuck forever in “zfs” state (WCHAN), other file systems (e.g. UFS) are still working. References: http://lists.freebsd.org/pipermail/freebsd-fs/2008-February/004391.html , http://lists.freebsd.org/pipermail/freebsd-stable/2008-January/040047.html
- Heavy IO activity in multithreaded applications (like file system benchmarks) can provoke a panic. Symptoms: the kernel panics in txg_*. References: http://lists.freebsd.org/pipermail/freebsd-stable/2008-March/040943.html
- ZFS file systems don't start on boot in single-user mode. Symptoms: ZFS file systems are not started / mounted when the machine is booted in single-user mode. References: http://lists.freebsd.org/pipermail/freebsd-current/2007-April/071462.html . Workaround: see referenced post.
- Swapping on ZFS doesn't work. Reference: http://lists.freebsd.org/pipermail/freebsd-current/2007-September/076831.html
This list is FYI-only, it does not attempt to be official or complete. If you encounter these (or similar) problems, please complain about them on freebsd-fs@ mailing list.
Workarounds
It has been suggested that, in addition to memory tuning, adding
vfs.zfs.zil_disable=1 vfs.zfs.prefetch_disable=1
to loader.conf significantly improves stability. This might work but disabling ZIL can have serious consequences, depending on your workload.