Re: The pagedaemon evicts ARC before scanning the inactive page list

From: Andriy Gapon <avg_at_FreeBSD.org>
Date: Thu, 20 May 2021 06:44:20 UTC
On 19/05/2021 23:28, Alan Somers wrote:
> Follow-up:
> All of the big inactive-memory consumers were files on FUSE file systems that 
> were being exported as CTL LUNs.  ZFS files exported by CTL do not use any res 
> or inactive memory.  I didn't test UFS.  Curiously, removing the LUN does not 
> free the memory, but shutting down the FUSE daemon does.  A valid workaround is 
> to set the vfs.fusefs.data_cache_mode sysctl to 0.  That prevents the kernel 
> from caching any data from the FUSE file system.  I've tested this on both 
> FreeBSD 12.2 and 13.0 .  Should the kernel do a better job of reclaiming 
> inactive memory before ARC?  Yes, but in my case it's better not to create so 
> much inactive memory in the first place.  Thanks for everybody's help, 
> especially kib's tip about "vmstat -o".

Nevertheless, the larger problem still exists.  I can confirm it on my system 
and right now I am not using fusefs at all.  I do, however, use some programs 
that like to mmap some big data a lot.

The current pageout + ARC reclaim code really oppresses the ARC.
I think that Kostik and Mark made some good suggestion on how that can be fixed.

-- 
Andriy Gapon