ops: cap ZFS ARC at 2GB on glados #43
Reference in New Issue
Block a user
Delete Branch "ops/zfs-arc-cap"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Track the host ZFS tuning in source control. Backup-tier-only ZFS doesnt need the default 50%-of-RAM ARC, especially on a memory-pressured host running a 10GB Java heap.
Applied to glados already. File lives at
server/deploy/zfs-arc.confso its part of the deploy artifacts alongside Caddyfile, systemd unit, etc.The cold ZFS pool is a backup tier only — hot data (MC world, Gitea, Directus DB, containers) lives on NVMe LVM, not ZFS. So ARC's default of 50% RAM was wasted: nothing it could cache was hot enough to matter, and the ~16GB cache crowded MC out of RAM, pushing 2.4GB into swap. This file lives in the repo for reproducibility; it gets dropped into /etc/modprobe.d/ on the host and applied immediately via /sys/module/zfs/parameters/zfs_arc_{max,min}. Effect on glados: before: used=27/31GB, free=748MB, ARC=15.6GB after: used=~10GB, free=~14GB, ARC=1.0GB (1-2GB range) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>