ZFS and heavy resource utilization
|Reported by:||friedg||Owned by:|
PCBSD with zfs has high resource (processing and memory) utilization and has been the target of multiple user complaints on web forums. The canned answer is usually with regard to kernel memory allocation (mem_wire, mem_active, mem_inactive, and mem_cache) for optimal performance and that unused memory is wasted memory.
The complaint is not due to kernel maximizing memory allocation, it's with respect to mem_active memory being considerably higher than if a ufs or a Linux ext3 or 4 file system were being used. ZFS has an inherently higher mem_active memory utilization due to the arc algorithm and sha256 checksum operations on hard drive reads. Increasing the zfs cache puts a higher load on mem_active and decreasing zfs cache puts a higher load on the processor, even at idle. This may lead to a certain level of dissatisfaction with regard to system performance and give PCBSD a poor reputation. I've noticed 100mb of mem_active being used on a headless PCBSD/zfs installation, which is far higher than a normal 20mb with ufs. I've also witnessed 50% processor utilization when the system is idle with a core2quad processor.
The proponents of zfs stipulate the data integrity advantage it has with respect to ufs, ext4, and fat32. However, the end user may not recognize this, especially with poor performance. A compromise could be if the default pcbsd installation utilized ufs for system partitions and zfs for user data (/usr and /home).