Oom-katil öldürme süreçlerinin nedenleri nasıl teşhis edilir


9

Son zamanlarda web sunucusu ve ssh yanıt vermiyor birkaç olay oldu CentOS ve www / mail / db çalışan küçük bir sanal özel sunucum var.

Günlüklere baktığımda, oom-katilin muhtemelen hafıza ve takas nedeniyle bu işlemleri öldürdüğünü gördüm.

Biri bana en son olaya neden olan şeyin nasıl teşhis edileceğine dair bazı göstergeler verebilir mi? İlk süreç muhtemelen öldürüldü mü? Başka nereye bakmalıyım?

Yanıtlar:


11

Hayır, algoritma o kadar basit değil. Daha fazla bilgi için:

http://linux-mm.org/OOM_Killer

Bellek kullanımını izlemek istiyorsanız, aşağıdaki gibi bir komut çalıştırmanızı tavsiye ederim:

ps -e -o pid,user,cpu,size,rss,cmd --sort -size,-rss | head

Size en fazla belleği kullanan (ve muhtemelen OOM durumuna neden olan) işlemlerin bir listesini verecektir. | headTüm işlemleri kontrol etmeyi tercih ediyorsanız kaldırın .

Bunu cronunuza koyarsanız, her 5 dakikada bir tekrarlayın ve bir dosyaya kaydedin. En az birkaç gün saklayın, böylece daha sonra ne olduğunu kontrol edebilirsiniz.

Ssh gibi kritik hizmetler için böyle bir durumda onları otomatik olarak yeniden başlatmak için monit kullanmanızı tavsiye ederim. Uzak bir konsolunuz yoksa makineye erişimi kaybetmekten kurtarabilir.

İyi şanslar,
João Miguel Neves


Teşekkürler - nihayet sunucumu dizlerine getiren birkaç oom-katil olayından sonra bunu denemek için dolaşıyorum. Nedeni izlemeniz gerekiyor.
dunxd

6

Son zamanlarda bununla zorlandım, çünkü oom-katilin üzerinde durduğu süreç (ler) ille de ters gidenler değil. Bunu teşhis etmeye çalışırken, en sevdiğim araçlardan birini öğrendim.

Bu yardımcı, steroidler üzerinde bir üst gibidir. Önceden ayarlanmış bir zaman aralığında, sistem bilgilerini profiller. Daha sonra neler olup bittiğini görmek için oynatabilirsiniz. Mavi renkte% 80 + ve kırmızı renkte% 90 + olan süreçleri vurgular. En kullanışlı görünüm, son zaman diliminde ne kadar bellek ayrıldığını gösteren bir bellek kullanım tablosudur. Bana en çok yardımcı olan bu.

Harika bir araç - bu konuda yeterli diyemeyiz.

performans monitörü üstüne



1

OOM yalnızca o sırada en fazla bellek kullanımı olan işlemi öldürüyor. Sınırı aşan veya OOm çağrısı çivili süreç olmayabilir.
Ayrıca linux, bellek tahsisi ile gevşek. AKA, işleminizin 5 gb'a ihtiyacı varsa ancak yalnızca 3 kullanıyorsa, linux başka bir işlemin kullanmadığı 2'yi kullanmasına izin verecektir. performans> güvenilirlik. sonra p1 tam 5 ihtiyacı olduğunda bunu elde edemez

Bir istisna değil. sadece kendim ve bulduğum şeyle uğraşmak

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.