MySQL hat Probleme. „free -h“: 512 MB Swap verwendet, RAM „voll“. Das Team verdoppelt den Swap von 2 auf 8 GB – die Langsamkeit wird schlimmer. Das eigentliche Problem: Abfrage ohne Index + zu kleiner Pufferpool, nicht das Fehlen von Swap.
Tauschen ist weder immer schlecht noch immer gut: Kontext und Metriken.
Kostenlos und vmstat lesen
„verfügbar“ zuverlässiger als freie Cache-Zeile. „vmstat 1“: Wenn Bi/S-Swap-In/Out-Konstante unter Last → nicht genügend RAM.
Unterscheiden Sie den verwendeten Swap von der Swap-Aktivität.
Rollen des Tauschs
Netto: vermeidet OOM-Killer bei kurzen Spitzen.
Symptom: Arbeitssatz > RAM aufrechterhalten.
Schlechte Idee: Kompensieren Sie unterdimensionierten RAM mit billigen VPS auf unbestimmte Zeit.
Nach Arbeitsbelastung
| Arbeitsbelastung | Empfehlung |
|---|---|
| PostgreSQL/MySQL | RAM zuerst, minimale Aktivität austauschen |
| Zustandsloses PHP-Web | OK klein tauschen, OOM ansehen |
| Redis | fast nutzloses Swap, Disable oder Swappiness 1 |
| Batch-Nacht | Swap kann Spitzen glätten |
An Host anpassen: einige VPS ohne Swap-Design.
Tuning
swappiness=10 /etc/sysctl.d. SSD-Swap besser als HDD, aber die Latenz bleibt ms vs. µs RAM.
zram auf 1–2 GB VPS, wenn aktueller Kernel.
Upgrade-Entscheidung
Wenn Swapin/Swapout > 0 dauerhaft + Latenz-SLO unterbrochen → RAM oder Shard-Dienst aktualisieren. Wechseltausch allein = Aspirin.
Entscheidungsmatrix
| Signal | Aktion |
|---|---|
| Gebraucht tauschen, tauschen/austauschen ~0 | überwachen |
| Swapin/Out dauerhaft + Latenz | RAM aufrüsten |
| OOM tötet | RAM + App-Limit |
| Redis-Tausch | sofort beheben |
| Batch-Nächtlicher Austausch OK | Dokument erwartet |
Überprüfung nach Änderung des Cloud-Instanztyps – Änderungen des RAM/Swap-Verhältnisses.
Alarmierung
Warnung, wenn Swap >50 % verwendet wird und Swap-Rate >0 5 Minuten lang andauert – keine Benachrichtigung, wenn Swap allein verwendet wird.
Dashboard: Verfügbarer RAM + Swap-Aktivität, gleiches Panel.
Kapazitätsplan: RAM-Upgrade-Trigger definiert (z. B. Swapin >10/s 15min).
Kubernetes-Knotenaustauschrichtlinie: Bestimmte Cluster sind verboten – planen Sie Speicheranforderungen/-limits, bevor Sie gierigen Java-Heap bereitstellen.
JVM-Container ohne begrenzten Speicher + Swap-Host = unvorhersehbare GC-Latenz.
Container und Tausch
Docker ohne Speicherbegrenzung: Container kann Swap-Host auslösen – definieren Sie „mem_limit“.
Kubernetes: Standardmäßig viele Cluster auslagern – explizite OOMKill-Pod- vs. Host-Austauschrichtlinie.
Überwachung: Warnung, wenn die Swap-IO-Wartezeit mit der API-Latenz korreliert – nicht nur mit der verwendeten Swap-Metrik.
Betriebszusammenfassung
Der verwendete Swap ist nicht alarmierend; aktiver Swap unter Last ist. DB-Produktion: RAM zuerst. Kleiner VPS: Ein kleiner Austausch vermeidet brutales OOM. Messen Sie vmstat, nicht nur kostenlos.
Kubernetes und Redis: Vermeiden Sie Swap-Hosts für latenzempfindliche Arbeitslasten.
Lese-Dashboard
Panel 1: Trend zur verfügbaren RAM-Speicherkapazität für 7 Tage. Panel 2: Swap-In/Out-Rate. Panel 3: App-P95-Latenz-Overlay. Korrelations-Swapin + Latenz = verschlüsseltes RAM-Upgrade-Ticket.
Runbook-Dokumentation: Wann soll der verwendete statische Swap ignoriert werden, wann soll ein Pager auf Abruf eingesetzt werden?
Betriebsüberwachung
Dokumenten-Baseline-Austausch nach dem Vorfall – zukünftiger Vergleich. Mit dem Alert-Swapin korrelierte Latenz. Überprüfung des OOM-Killer-Protokolls nach Swap-Spitze – welches Prozessopfer betroffen ist. Dokumentieren Sie die Lücken zwischen dem Versprechen des Hosting-Anbieters und der Messung vor Ort in der vierteljährlichen Überprüfung.
Vierteljährliche Fortsetzung
Dokumenten-Baseline-Austausch nach dem Vorfall – zukünftiger Vergleich. Mit dem Alert-Swapin korrelierte Latenz. Überprüfung des OOM-Killer-Protokolls nach Swap-Spitze – welches Prozessopfer betroffen ist. Dokumentieren Sie die Lücken zwischen dem Versprechen des Hosting-Anbieters und der Messung vor Ort in der vierteljährlichen Überprüfung.
Führen Sie ein datiertes Runbook, Vorher-/Nachher-Kennzahlen und eine Überprüfung nach dem Vorfall – kumulative Disziplin vermeidet Panik am Freitagabend.
Führen Sie ein datiertes Runbook, Vorher-/Nachher-Kennzahlen und eine Überprüfung nach dem Vorfall – kumulative Disziplin vermeidet Panik am Freitagabend.
Führen Sie ein datiertes Runbook, Vorher-/Nachher-Kennzahlen und eine Überprüfung nach dem Vorfall – kumulative Disziplin vermeidet Panik am Freitagabend.
Führen Sie ein datiertes Runbook, Vorher-/Nachher-Kennzahlen und eine Überprüfung nach dem Vorfall – kumulative Disziplin vermeidet Panik am Freitagabend.
Führen Sie ein datiertes Runbook, Vorher-/Nachher-Kennzahlen und eine Überprüfung nach dem Vorfall – kumulative Disziplin vermeidet Panik am Freitagabend.
Führen Sie ein datiertes Runbook, Vorher-/Nachher-Kennzahlen und eine Überprüfung nach dem Vorfall – kumulative Disziplin vermeidet Panik am Freitagabend.
Matrixtausch
| Signal | Aktion |
|---|---|
| swap used, swapin ~0 | überwachen |
| Swapin + Latenz | RAM-Upgrade |
| Redis-Tausch | Jetzt reparieren |
PaaS: Nur OOM sichtbar – Größe RAM.
Entscheide dich und gehe ohne blinden Fleck voran
- Swapin/Out und App-Latenz korrelieren – Swap ohne Aktivität verwendet = überwachen; Unterstützter Swapin = RAM-Ticket.
- Dashboard mit drei Bedienfeldern – verfügbarer RAM, Swap-I/O, p95-Latenz-Overlay.
- Redis und Datenbanken nie im Austausch – sofortige Korrektur, wenn erkannt.
- Akzeptabler nächtlicher Stapel dokumentieren – vorhersehbarer Austausch vs. Speicherverlust.
- Überprüfung nach Änderung der Cloud-Instanz – RAM/Swap-Verhältnis ändert sich je nach Typ.
RAM aktualisieren: Zahlen manuell über die Dateien Vergleich und Verzeichnis.
Häufig gestellte Fragen
100% gebraucht tauschen = Notfall?
Notfall, wenn die Latenz explodiert und sich der Großteil des aktiven RAM im Swap befindet (wenn die verfügbare Spalte niedrig ist). Kann harmlos sein, wenn kalte Seiten inaktiv sind.
Swapiness 60 oder 10?
10–20 auf Produkt-DB-/Cache-Servern, um aggressiven Austausch zu vermeiden. 60 Desktop-orientierter Standard.
Sollten wir den Swap deaktivieren?
Selten auf kleinen VPS – ein kleiner Austausch vermeidet brutale OOM-Kills. Kritische Datenbank: eher mehr RAM als Swap Null.
zram nützlich?
Bei kleinen VPS mit geringem RAM komprimiert ZRAM den RAM – besser als langsamer Festplattenaustausch, kein Ersatz für echten RAM für große Arbeitssätze.
Überprüfen Sie vmstat, bevor Sie Cloud-Swap kaufen – manchmal fehlen 4 GB RAM und nicht 4 GB Swap.
