ZFS Arc using 50% of ram

kriev98

New Member
Feb 14, 2025
8
0
1
New install PVE 8.3.3, host has 256gb RAM, i have an 11TB ZFS pool (in HA with another host, identical config)

I have 118gb of RAM used in VMs right now and the host shows 239gb RAM used. I read that since PVE 8.1 ARC is reduced to 10% of the host's ram so why am I getting this high usage? I have quite a few VMs left to migrate so now i'm questionning everything. (new to proxmox)

I went to see to modify my arc settings by following this guide but i don't have the file zfs.conf in /etc/modprobe.d/


Anyone care to enlighten me?
 
Just create the file yourself.

I don't know. What is the current size of the ARC (arc_summary -s arc)?

ARC status: HEALTHY
Memory throttle count: 0

ARC size (current): 80.1 % 100.8 GiB
Target size (adaptive): 80.2 % 100.9 GiB
Min size (hard limit): 6.2 % 7.9 GiB
Max size (high water): 16:1 125.8 GiB
Anonymous data size: < 0.1 % 2.4 MiB
Anonymous metadata size: < 0.1 % 1.0 MiB
MFU data target: 26.0 % 25.5 GiB
MFU data size: 29.9 % 29.3 GiB
MFU ghost data size: 33.3 GiB
MFU metadata target: 10.4 % 10.2 GiB
MFU metadata size: 4.7 % 4.6 GiB
MFU ghost metadata size: 0 Bytes
MRU data target: 53.2 % 52.1 GiB
MRU data size: 63.4 % 62.2 GiB
MRU ghost data size: 17.8 GiB
MRU metadata target: 10.4 % 10.2 GiB
MRU metadata size: 2.0 % 1.9 GiB
MRU ghost metadata size: 0 Bytes
Uncached data size: 0.0 % 0 Bytes
Uncached metadata size: 0.0 % 0 Bytes
Bonus size: < 0.1 % 507.8 KiB
Dnode cache target: 10.0 % 12.6 GiB
Dnode cache size: 0.1 % 10.3 MiB
Dbuf size: 0.1 % 62.5 MiB
Header size: 2.6 % 2.7 GiB
L2 header size: 0.0 % 0 Bytes
ABD chunk waste size: < 0.1 % 124.0 KiB

ARC hash breakdown:
Elements max: 14.4M
Elements current: 82.4 % 11.9M
Collisions: 165.0M
Chain max: 8
Chains: 1.7M

ARC misc:
Deleted: 474.2M
Mutex misses: 266.2k
Eviction skips: 19
Eviction skips due to L2 writes: 0
L2 cached evictions: 0 Bytes
L2 eligible evictions: 7.3 TiB
L2 eligible MFU evictions: 7.7 % 572.2 GiB
L2 eligible MRU evictions: 92.3 % 6.7 TiB
L2 ineligible evictions: 13.1 GiB
 
if you added your new values to /etc/modprobe.d/zfs.conf (or any other file in modprobe.d)
you need to update initramfs and
update-grub or proxmox-boot-tool refresh (or simply both)
then reboot.

One of those you have clearly missed :-)
 
no my point is that the official guide states the following:

ZFS uses 50 % of the host memory for the Adaptive Replacement Cache (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.

I installed 8.3.3 and ARC uses 50% of my RAM and that file /etc/modprobe.d/zfs.conf doesn't exist.