Re: Unable to limit memory consumption with vfs.zfs.arc_max

From: Dan Langille <dan_at_langille.org>
Date: Sat, 04 May 2024 11:56:39 UTC
On Fri, May 3, 2024, at 4:40 PM, Jim Long wrote:
> Thank you, Mike.  It looks like they're both getting set, so sadly no
> progress, but I have updated my sysctl.conf to keep up with the times.
>
> Jim
>
> # sysctl -a | grep vfs.*arc.max
> vfs.zfs.arc_max: 4294967296
> vfs.zfs.arc.max: 4294967296
>
> # grep vfs.*arc.max /etc/sysctl.conf 
> #vfs.zfs.arc_max=4294967296
> vfs.zfs.arc.max=4294967296

This is from FreeBSD 14 on an Dell R730 in the basement (primary purpose, poudriere, and PostgreSQL, and running four FreshPorts nodes):

From top:

ARC: 34G Total, 14G MFU, 9963M MRU, 22M Anon, 1043M Header, 9268M Other
     18G Compressed, 41G Uncompressed, 2.28:1 Ratio

% grep arc /boot/loader.conf
vfs.zfs.arc_max="36000M"

Looks like the value to set is:

% sysctl -a vfs.zfs.arc | grep max
vfs.zfs.arc.max: 37748736000

Perhaps not a good example, but this might be more appropriate:

% grep vfs.zfs.arc.max /boot/loader.conf
vfs.zfs.arc_max="1200M"

with top showing:

ARC: 1198M Total, 664M MFU, 117M MRU, 3141K Anon, 36M Header, 371M Other
     550M Compressed, 1855M Uncompressed, 3.37:1 Ratio

-- 
  Dan Langille
  dan@langille.org