Kümemizde, süreç kaynaklarımızı kısıtlıyoruz, örn. Bellek ( memory.limit_in_bytes
).
Sonunda, bu aynı zamanda Linux çekirdeğindeki OOM katili tarafından da ele alınmaktadır ( kaynak kodunu okuyarak benziyor ).
Sürecim öldürülmeden önce sinyal almanın bir yolu var mı? (Tıpkı -notify
seçeneğiyle SGE enqsub
gönderecek, SIGUSR1
süreç öldürdü önce.)
/dev/mem_notify
Burada okudum ama bende yok - bugünlerde başka bir şey var mı? Ben de okumak bu şekilde alakalı görünüyor.
En azından küçük bir yığın izleme ve belki de diğer bazı yararlı hata ayıklama bilgileri dökmek istiyorum - ama belki de bazı bellek serbest bırakarak kurtarabilirsiniz.
Bir Şu anda edilir kullanıyorum geçici çözüm bu küçük senaryoyu ben yakın (% 95) sınıra kadar kalırsam hangi sıklıkla kontrol eder ve eğer öyleyse, o süreç a gönderir SIGUSR1
. Bash'de, bu betiği cgroup-mem-limit-watcher.py &
aynı gruptaki diğer procs'ları izlemesi ve arka Bash işlemi bittiğinde otomatik olarak kapanması için background ( ) içinde başlıyorum .