Çekirdek oom puanı nasıl hesaplanır?


12

Google'a baktı ve skorun nasıl proc/<pid>/oom_scorehesaplandığını açıklayan hiçbir şey bulamadı . Neden sadece kullanılan toplam belleği kullanmak yerine bu puanı kullanıyorsunuz?

Yanıtlar:


18

O zamanki uygulama için Goldwyn Rodrigues'in 2009 makalesine , mevcut davranış olduğuna inandığım şey için Jonathan Corbet'in 2010 makalesine ve gelecekteki değişiklikler hakkında fikirler için Jonathan Corbet'in 2013 makalesine bakın .

2010 makalesinden:

David'in yama setinde, eski kötülük () buluşsal yöntemleri neredeyse tamamen yok oldu. Bunun yerine, hesaplama, kullanılabilir belleğin yüzde kaçının işlem tarafından kullanıldığına dair basit bir soruya dönüşür. Sistem bir bütün olarak belleğe sahip değilse "kullanılabilir bellek", sistem için kullanılabilir olan tüm RAM ve takas alanının toplamıdır. Bunun yerine, OOM durumu, verilen bir cpuset / kontrol grubuna izin verilen belleğin tüketilmesinden kaynaklanıyorsa, "kullanılabilir bellek" o kontrol grubuna ayrılan toplam miktardır. Bir bellek politikası tarafından getirilen sınırlar aşıldığında da benzer bir hesaplama yapılır. Her durumda, işlemin bellek kullanımı yerleşik kümesinin (kullandığı RAM sayfalarının sayısı) ve takas kullanımının toplamı olarak kabul edilir.

Bu hesaplama sonuç olarak yüzde on-on sayı üretir; kullanılabilir belleğin her baytını kullanan bir işlem 1000 puan alırken, hiç bellek kullanmayan bir işlem sıfır puan alır. Bu puan için çok az sezgisel ince ayar var, ancak kod hala kullanıcılara ait süreçlerden biraz daha değerli oldukları fikrine kök sahip süreçlerin puanından küçük bir miktar (30) çıkarıyor.

Uygulanan diğer bir ince ayar, her işlemin oom_score_adj değişkeninde depolanan ve / proc üzerinden ayarlanabilen değeri eklemektir. Bu düğme, her bir işlemin çekiciliğinin kullanıcı alanındaki OOM katili ile ayarlanmasını sağlar; -1000 olarak ayarlandığında OOM öldürmeleri tamamen devre dışı bırakılırken, +1000 olarak ayarlamak ilgili işlemde büyük bir hedef boyamaya eşdeğerdir.


Tüm süreçlerin 0 oom puanına sahip olması mümkün müdür? Şu anda canlı bir cd önyükleme ile sonuçlanır.
CMCDragonkai
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.