KB450086 – Setting ZFS on Linux ARC Limit

Last modified: May 31, 2021
You are here:

Setting ZFS on Linux ARC Limit


ZFS on Linux defaults to use only 50% of available RAM in the system.

This should be bumped up to 90% in a sole ZFS server, and 80% if other tasks (non ZFS) are running as well.

Here is a website to convert  bits to gigabits, as the inputted value needs to be in bits. http://www.matisse.net/bitcalc/


Linux Server with ZFS 0.8.3 Installed


  • To Check the amount of RAM dedicated to the ARC limit currently run the following command, c_min and c_max are the min and max values set for the ARC limit.
cat /proc/spl/kstat/zfs/arcstats |grep c_
  • Create a ZFS conf file.
vim /etc/modprobe.d/zfs.conf
  • Add the following options to the zfs.conf, change the values depending on the use case/amount of RAM in the system.
options zfs zfs_arc_min=[33%*RAM]
options zfs zfs_arc_max=[90%*RAM]
  • Make sure to reboot the system for the changes to take effect.


To verify the limits were set, after the reboot run the original command to confirm the values have changed.

cat /proc/spl/kstat/zfs/arcstats |grep c_


If you want to set the value to a specific amount of any percentage of the ram change the max value set.

Was this article helpful?
Dislike 0
Views: 567
Unboxing Racking Storage Drives Cable Setup Power UPS Sizing Remote Access