Tool · ZFS
ZFS-RAM- und ARC-Planer
Wie viel Arbeitsspeicher nimmt sich ZFS — und wie viel bleibt für deine Dienste und VMs? Der Planer zeigt die Standardgrenzen des ARC für deine OpenZFS-Version, stellt sie deinem eigenen RAM-Bedarf gegenüber und erzeugt bei Bedarf die Zeile für ein dauerhaftes Limit.
ARC-Maximum (Default)
15 GiB
zfs_arc_max = 0 → automatisch
Neben deinen Diensten frei
11,8 GiB
RAM − Reservierung − 256 MiB Freihalteziel
ARC-Minimum (Default)
512 MiB
zfs_arc_min = 0 → RAM / 32
- Dienste: 4 GiB
- ARC (max.): 11,8 GiB
- Rest: 256 MiB
Das ARC-Maximum ist größer als der RAM, der neben deinen Diensten übrig bleibt. Das ist kein Fehler: Linux fordert Speicher zurück, wenn Anwendungen ihn brauchen, und der ARC schrumpft. Beobachte, ob die Anwendungen dabei ins Swapping geraten.
Seit OpenZFS 2.3 darf der ARC auf Linux bis „RAM minus 1 GiB“ wachsen (vorher die Hälfte). Hohe RAM-Belegung nach einigen Tagen Betrieb ist deshalb normal und kein Speicherleck.
Beobachten statt raten
free -h
zarcstat 5 # bis OpenZFS 2.3: arcstat 5
zarcsummary -s arc # bis OpenZFS 2.3: arc_summary -s arc
grep -E '^(size|c|c_min|c_max|hits|misses|memory_throttle_count) ' /proc/spl/kstat/zfs/arcstatsDer Planer rechnet nur mit belegten Werten: den Linux-Defaults von OpenZFS laut Manpage, dem Proxmox-Installer-Default und der Dedup-Planungsgröße der OpenZFS-Doku. Wie viel RAM deine Dienste brauchen, kann er nicht wissen — miss es mit free -h im Betrieb. Den ARC bei Linux live zu ändern und dauerhaft zu setzen, erklärt der Guide zum ARC-Limit; bei Root auf ZFS braucht es zusätzlich ein neues initramfs.
Freier RAM ist verschenkter Cache
Der ARC (Adaptive Replacement Cache) hält häufig und zuletzt gelesene Daten im Arbeitsspeicher. Linux zählt ihn nicht als „Cache“ wie den normalen Seitencache, deshalb sieht ein ZFS-Server nach einigen Tagen oft „voll“ aus. Das ist gewollt: Brauchen Anwendungen Speicher, gibt der ARC ihn wieder frei. Ein Limit lohnt sich vor allem dort, wo Speicher schnell und verlässlich frei sein muss — etwa auf Virtualisierungshosts.
Warum der Planer keinen „RAM-Bedarf“ ausrechnet
Wie viel Cache dein Pool sinnvoll nutzen kann, hängt davon ab, wie viele Daten regelmäßig gelesen werden — nicht davon, wie groß die Platten sind. Eine pauschale Formel wäre geraten. Belastbar sind die Grenzen, die OpenZFS selbst setzt, und die Beobachtung im Betrieb: Trefferquote, Größe und Speicherdruck.
Häufige Fragen
Wie groß wird der ARC ohne eigene Einstellung?
Auf Linux seit OpenZFS 2.3 bis zum größeren Wert aus „RAM minus 1 GiB“ und 5/8 des RAM, bis Version 2.2 bis zur Hälfte des RAM. Proxmox VE setzt bei Neuinstallationen ab Version 8.1 ein Limit von 10 % des RAM, höchstens 16 GiB.
Gilt die Regel „1 GB RAM pro TB Speicher“?
Nicht allgemein. Die OpenZFS-Doku nennt eine Planungsgröße nur für Deduplizierung: mindestens 1,25 GiB RAM pro TiB deduplizierter Daten. Ohne Dedup läuft ZFS auch mit wenig RAM; mehr RAM bedeutet vor allem mehr Cache.
Warum ignoriert ZFS mein Limit?
zfs_arc_max wird nur übernommen, wenn der Wert mindestens 64 MiB beträgt, kleiner als der RAM und größer als zfs_arc_min ist. Auf Systemen mit viel RAM liegt der Default von zfs_arc_min bei RAM/32 — ein sehr kleines Limit braucht dann zusätzlich einen kleineren zfs_arc_min.
Werden meine Eingaben gespeichert?
Nein. Alles wird im Browser berechnet; gesendet wird höchstens, dass das Tool benutzt wurde — nie die eingegebenen Werte.
Passende Tools
ZFS-Kapazitätsrechner →
Nutzbarer Platz für Mirror und RAIDZ1/2/3 mit mehreren vdevs — inklusive RAIDZ-Padding, Slop-Reserve und TB-vs-TiB, so wie zfs list ihn zeigt.
ZFS-Fehlerdiagnose →
Pool DEGRADED, Prüfsummenfehler, Pool voll oder Import scheitert? Symptom wählen und lesende Diagnosebefehle mit Deutung abarbeiten.