I have a machine running FreeBSD that is subject to a variety of workloads, rabging from Disk intensive to memory intensive.
If large amounts of ZFS data are accessed, then the Wired Memory usage can quickly grow to 95GB where there is only 96GB installed, resulting in process crashes and an unresponsive machine.
The checksetuid and neggrpperp processes are capable of trigering this on their own.
as a work around, setting
vfs.zfs.arc_max to around half the system ram prevents process crashes however this also has the possible performance issue that at times it would be optimal if the system could allocate more RAM to the arc when it is not needed for other processes.
When ram is needed for other processes it seems that the wired memory usage drops excessively slowly.
security_status_chksetuid_enable and security_status_neggrpperm_enable are also set to NO so as not to fill the arc with useless stuff.
Fundamentally, is there a better way of handeling this other than setting
vfs.zfs.arc_max to a slightly arbitrary value ?