[PVE 9.1.0/PVE-Manager 9.1.5] Customized ZFS Min/Max Size--Unexpected Behavior in RAM Summary. Did I Do Something Wrong?

Sep 1, 2022
511
193
53
41
Hello,

I wanted to set a minimum and maximum size on my ZFS ARC after studying this article: https://klarasystems.com/articles/arc-and-l2arc-sizing-for-proxmox/

So, I've modified my zfs.conf as shown:
Bash:
root@andromeda2:~# cat /etc/modprobe.d/zfs.conf
options zfs zfs_arc_min=8589934592      # 8 GiB minimum
options zfs zfs_arc_max=19327352832     # 18 GiB maximum

root@andromeda2:~# update-initramfs -u -k all && reboot

root@andromeda2:~# cat /sys/module/zfs/parameters/zfs_arc_min
8589934592
root@andromeda2:~# cat /sys/module/zfs/parameters/zfs_arc_max
19327352832

htop seems to think I've done this correctly (see lower left--ARC on the first line, Compressed ARC on the next line):
1771629750779.png

Meanwhile, the PVE GUI disagrees:
1771629926531.png
Granted, I accidentally had the max size misconfigured at first. It was way too high and the system defaulted to 1 GiB, but it's been almost an hour since I fixed that.

Still, this looks odd to me. I haven't stressed the system yet, so maybe it only shows how much ARC I've used and not the actual allotment? In that case, I suppose it's correct--or at least matches the output of htop.

In any case, I think I might make a feature request for a MAX ZFS ARC indicator on that graph, similar to how we have TOTAL.
 
so maybe it only shows how much ARC I've used and not the actual allotment?
I would expect this behavior.

And yes, the ARC only gets actually used when ZFS recognizes relevant read pattern by watching the MRU/MFU counters. (--> "warm up". Newer systems may reload the ARC on boot from disk though...)
 
  • Like
Reactions: SInisterPisces
I would expect this behavior.

And yes, the ARC only gets actually used when ZFS recognizes relevant read pattern by watching the MRU/MFU counters. (--> "warm up". Newer systems may reload the ARC on boot from disk though...)
That makes sense. For some reason, I was expecting it to set aside at least the minimum ARC amount and reserve it, but it makes sense that it doesn't do that on boot.

I've since seen that system use the full allotment of ARC after running overnight, so it's all working fine. :)
 
  • Like
Reactions: UdoB