Hello. I was reading the Wiki, and noticed this. https://pve.proxmox.com/wiki/ZFS_on_Linux#sysadmin_zfs_limit_memory_usage
Given the importance of ARC to I/O, why is it capped at 10 percent an clamped to 16 GiB? ZFS, left to its own devices, will be far more aggressive than this in using RAM for ARC.
Not trying to argue this is wrong, but it's not the way ZFS works on, say, TrueNAS Core or any other BSD system, and I'd like to learn why it's like this.
Thanks!
Limit ZFS Memory Usage
ZFS uses 50 % of the host memory for the Adaptive ReplacementCache (ARC) by default. For new installations starting with Proxmox VE 8.1, the ARC usage limit will be set to 10 % of the installed physical memory, clamped to a maximum of 16 GiB. This value is written to /etc/modprobe.d/zfs.conf.
Allocating enough memory for the ARC is crucial for IO performance, so reduce it with caution. As a general rule of thumb, allocate at least 2 GiB Base + 1GiB/TiB-Storage. For example, if you have a pool with 8 TiB of availablestorage space then you should use 10 GiB of memory for the ARC.
ZFS also enforces a minimum value of 64 MiB.
Given the importance of ARC to I/O, why is it capped at 10 percent an clamped to 16 GiB? ZFS, left to its own devices, will be far more aggressive than this in using RAM for ARC.
Not trying to argue this is wrong, but it's not the way ZFS works on, say, TrueNAS Core or any other BSD system, and I'd like to learn why it's like this.
Thanks!