echo "$[8 * 1024 * 1024 * 1024]" > /sys/module/zfs/parameters/zfs_arc_max
View Arc summary to verify the changes
arc_summary | more
zfs set sync=disabled <POOL_NAME>
lsblk
smartctl -s wcache=on /dev/sdX
where X is the drive label
DO NOT APPLY THESE CHANGES TO YOUR BOOT DRIVE, ONLY YOUR ZFS STORAGE ARRAY
zfs list
If the Proxmox Node OS is ever re-installed, and ZFS is on a separate array, you can re-import once Proxmox is rebuilt successfully
zpool import -f <POOL_NAME>
# Set to 8Gb for Current Boot
echo "$[8 * 1024 * 1024 * 1024]" > /sys/module/zfs/parameters/zfs_arc_max
# Set to 8Gb Permanently
echo "options zfs zfs_arc_max=8589934592" > /etc/modprobe.d/zfs.conf
# Set to 16Gb for Current Boot
echo "$[16 * 1024 * 1024 * 1024]" > /sys/module/zfs/parameters/zfs_arc_max
# Set to 16Gb Permanently
echo "options zfs zfs_arc_max=17179869184" > /etc/modprobe.d/zfs.conf
# Set to 32Gb for Current Boot
echo "$[32 * 1024 * 1024 * 1024]" > /sys/module/zfs/parameters/zfs_arc_max
# Set to 32Gb Permanently
echo "options zfs zfs_arc_max=34359738368" > /etc/modprobe.d/zfs.conf
zpool iostat