On Thu, 27 Jul 2023 at 19:28, Greg Troxel <g...@lexort.com> wrote: > > Mike Pumford <mpumf...@mudcovered.org.uk> writes: > [snip] > > > If I've read it right there needs to be a mechanism for memory > > pressure to force ZFS to release memory. Doing it after all the > > processes have been swapped to disk is way too late as the chances are > > the system will become non-responsive by then. From memory this was a > > problem FreeBSD had to solve as well. > > It would be interesting to read a description of what they did. That > seems easier than figuring it out from scratch. > I'm not sure they did a lot more than expose the ARC limit as a sysctl.
I moved to FreeBSD from Net a few years ago (mainly to get ZFS), and have had similar issues under heavy load with a large ARC. It wouldn't crash or hang, but it would always favour killing something over flushing the ARC under pressure. I did a little bit of digging and got the impression this was the way it was intended to work. (Although reading this thread it may be a little more complex than that. :) ) Once I limited my ARC my problems went away. I limited mine to 16 gig on a 96 gig system, but I was running some processes with high memory usage. I've not had cause to increase it though, and the system runs reliably. It has a few zpools, and I'm running a VM of an iSCSI exposed ZVOL, so it get a decent amount of use. (This is my home system, not a production system, however it does have something like 10 HDDs in, so is often quite I/O loaded). Cheers, Ian