İçeriğe geç

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

BenzeyenAyıran
DDoS seliSel, 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 gece2
Gerektirirbir web makinesi
Ağırlık100 — oyundaki en olası olaylarla eşit
Aynı andatek örnek