Tuning ARC ZFS
Par défaut, l'ARC (cache) de ZFS s'autorise jusqu'à 50% de la RAM de la machine. Problème : à partir de 80% d'utilisation de la RAM (et l'ARC n'est pas compté comme du cache mais bien de la mémoire utilisée), le ballooning des VM commence à jouer. Donc on n'a que 30% de la RAM dispo avant ballooning.
D'après la doc proxmox on peut partir sur une règle “2 Gio + 1 par téra de disque”. https://pve.proxmox.com/wiki/ZFS_on_Linux#sysadmin_zfs_limit_memory_usage
On a choisi de mettre 4 Gio.
echo "options zfs zfs_arc_max=4294967296" | sudo tee /etc/modprobe.d/zfs.conf
Si l'on souhaite rebooter, on peut s'arrêter là. Si le rootfs est en ZFS, il faut reconstruire l'initramfs :
update-initramfs -u -k all
On peut modifier le paramètre max sans reboot (via sysfs, voir doc proxmox). Cela évite de reboot mais “saute” au prochain démarrage si la configuration modprobe n'a pas été faite.
Discussion supplémentaire :
https://forum.proxmox.com/threads/disable-zfs-arc-or-limiting-it.77845/
