Changes in vfs.zfs.arc_max on 13

Pete Wright pete at
Tue May 11 17:09:53 UTC 2021

I have a handful of systems running both 13.0-REL and 13-STABLE and have 
noticed a few deviations from what I've found in the handbook in regards 
to the vfs.zfs.arc_max sysctl knob.  I am referring to this section of 
the Handbook:

I see a handful of references to using vfs.zfs.arc_max, but when run on 
my 13.x systems it states this knob is legacy:
$ sysctl -d vfs.zfs.arc_max
vfs.zfs.arc_max: max arc size (LEGACY)

It seems the preferred method moving forward is to use vfs.zfs.arc.max.  
No biggie there, I am happy to submit an update PR to the handbook for that.

The next issue I am seeing is that when setting this variable the 
example from the handbook states you can do something similar to this 


This throws an error on my system:
$ sudo sysctl vfs.zfs.arc_max=2048M
sysctl: invalid unsigned long '2048M'
$ sudo sysctl vfs.zfs.arc_max=2G
sysctl: invalid unsigned long '2G'

Using the human unfriendly form works though:
$ sudo sysctl vfs.zfs.arc.max="2000000000"
vfs.zfs.arc.max: 0 -> 2000000000

Is this a bug, or would it be best to also update the documentation accordingly to reflect this?  Personally I like the old behavior as it's easier on my eyes.


Pete Wright
pete at

More information about the freebsd-fs mailing list