Swapfresh

Event-gesteuerter Swap-Bereinigungsdienst für Linux

Herausforderung

Linux verschiebt Seiten nicht vom Swap zurück in den RAM, wenn der Speicherdruck nachlässt. Nach einem Spike bleibt der Swap voll, obwohl genügend freier RAM vorhanden ist, was die Fähigkeit des Systems reduziert, zukünftige Spikes zu bewältigen.

Lösung

Einen Single-File-Python-Daemon entwickelt, der Linux PSI (Pressure Stall Information) Trigger für reaktive Überwachung und periodische Prüfungen für proaktive Bereinigung nutzt. Sicherheitsgarantien stellen sicher, dass Flushes nur stattfinden, wenn der freie RAM mindestens das 2-fache der Swap-Nutzung beträgt.

Ergebnis

Ein produktionsreifer Daemon, der via systemd läuft mit Watchdog-Integration, automatischer zram-Erkennung, prioritätsgeordnetem Geräte-Flushing und exponentiellem Backoff bei Fehlern. Keine externen Abhängigkeiten, vollständig testbar und sicherheitsgehärtet mit systemd-Sandboxing.

Wichtige Highlights

  • Hybride reaktive/proaktive Architektur

    Kombiniert Linux-PSI-Trigger für sofortige reaktive Reaktion mit periodischen proaktiven Prüfungen, sodass Swap sowohl während als auch nach Speicherdruck-Ereignissen zurückgewonnen wird.

  • Safety-First-Design

    Mehrere Sicherheitsgarantien einschliesslich einer 2x-Freier-RAM-Anforderung, exponentiellem Backoff bei Fehlern und graceful Degradation stellen sicher, dass der Daemon den Speicherdruck nie verschlimmert.

  • Keine externen Abhängigkeiten

    Ein Single-File-Python-Daemon ohne externe Abhängigkeiten, vollständig gehärtet via systemd-Sandboxing mit Capability-basierter Sicherheit und Watchdog-Integration.

Architekturdiagramm des Swapfresh Event-gesteuerten Swap-Bereinigungsdienstes

Technologie-Stack

Core
Python 3.10+
Linux PSI
systemd
Architecture
Event-Driven
State Machine
Zero Dependencies
Security
systemd Sandbox
Capability-Based
Hardened
Swapfresh | Fanktank