ops: cap ZFS ARC at 2GB on glados #43

Merged
Matt merged 1 commits from ops/zfs-arc-cap into main 2026-05-28 13:53:00 +00:00
Owner

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.conf so its part of the deploy artifacts alongside Caddyfile, systemd unit, etc.

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.conf` so its part of the deploy artifacts alongside Caddyfile, systemd unit, etc.
Matt added 1 commit 2026-05-27 23:05:53 +00:00
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>
Matt merged commit 61321e5fcd into main 2026-05-28 13:53:00 +00:00
Matt deleted branch ops/zfs-arc-cap 2026-05-28 13:53:00 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: minecraft/brass-and-sigil#43