Bellek sızıntısı
Tek makinede, belleği yalnızca büyüyen tek bir süreç.
Son güncelleme:
Sızıntı, katalogdaki en sessiz olaydır. Hiçbir şey fırlamaz, hiçbir şey taşmaz — tek makinedeki tek bir süreç belleği geri vermeyi bırakır, o kadar.
Ne yapar
Bir makinenin RAM'i saniyeler içinde değil, dakikalar içinde tırmanır. Tavana
dayandığında OOM killer süreçleri almaya başlar; bu başlı başına bir servis
kesintisidir. Alınacak bir şey kalmadığında makine DOWN olur.
Önemli ayrıntı, bunun yerel olmasıdır. Tek makineyi etkiler ve RAM'i etkiler — bant genişliğini değil, diski değil, filoyu değil.
Log imzası
Adlandırılmış bir süreç, bir PID ve büyüdüğü söylenen bir bellek ayak izi:
02:41:08 [web-02] api-worker (PID 4312) RSS büyüyor — RAM %61
02:43:52 [web-02] bellek baskısı (%88) — oom killer hazır
02:45:10 [web-02] oom killer PID 4390 (nginx) sürecini aldı
oom killer hazır satırı alacağın son rahat uyarıdır. O makinede
top süreci adlandırır ve PID'i verir.
Dokunmazsan
OOM killer süreç listesini sırayla işler; yani makineyi kaybetmeden önce
işlevi parça parça kaybedersin. Makine CRIT ve ardından DOWN olduğu için
uptime maliyeti ayrı bir ceza olarak değil, sunucu durumu üzerinden gelir —
artı hoşgörü penceresi geçtiğinde
SLA borcu.
Ayırt etme
| Benzeyen | Ayıran |
|---|---|
| DDoS seli | Sel, web makinelerinde CPU ve bant genişliğini yükseltir; sızıntı tam olarak birinde RAM'i yükseltir. |
| Disk doldu | İkisi de fırlamaz, sürünür; ama biri RAM, diğeri bir bağlama noktasıdır. df bunu tek satırda bitirir. |
| Kaçak görev | İkisi de top çıktısında bir süreç adlandırır. Kaçak görev CPU'yu kilitler; sızıntı belleği büyütür. |
Ne zaman çıkar
| En erken gece | 2 |
| Gerektirir | bir web makinesi |
| Ağırlık | 100 — oyundaki en olası olaylarla eşit |
| Aynı anda | tek örnek |