Bazı dalışlar apt-check
bana bu ipuçlarını düzeltilmesi gereken çok künt bir senaryo olduğu için verdi. Yazarlarına tüm saygımla, sunucularımda başarısız oluyor. İşte düşüncelerim:
apt-check
== /usr/lib/update-notifier/apt_check.py
- nikelevel 19'u kendisi için zorlar
- eylemlerde zaman aşımı ayarlanmadı
Son ikisinin kombinasyonu, sonsuz bir şekilde bir spiral içinde aşağı doğru yığılmasına izin verir. Sistem daha yüksek önceliğe sahip başka amaçlar için kullanılırsa, işlemlerin miktarı artacaktır ve bunun apt-check
üzerinde hiçbir öncelik olmayacağından bunun sonu yoktur . Sorun ancak OOM katili hayati sistem süreçlerinizi öldürmeye karar verdiğinde daha da kötüleşecektir.
Davranıştaki bu iki durumdan herhangi biri farklı olsaydı, sistemin böylesine kırık bir duruma gelmesine izin vermezdi benim varsayımım.
Dizeler de bu konuda sorumlu üst süreçler hakkında doğru olsa da, aşağıdaki noktaların kusurları olduğuna apt-check
ve doğru şekilde ele alınabilmesi için bir hata olarak bildirilmesi gerektiğine inanıyorum :
- önce OOM katilinin kendisini öldürmesi için ipucu vermeli
- Nikeleveli sabit kodlamamalıdır
- bilgi almak mantıksız bir zaman alırsa çıkmalıdır
Aslında, Linux OOM katili bu konuda biraz sezgisel yapıyor gibi görünüyor. Niced süreçleri daha yüksek bir puan alacak ve uzun süren süreçler azaltılacaktır. ( kaynak - Ulrich Dangel'e işaret ettiği için teşekkürler )
Önerebileceğim olası çözüm:
- işlendikten sonra önbellek sonuçları
- Her basit (çift ) çağrı için tüm Python-APT kitaplıklarını yüklemeden N saniyeden azsa önbelleği çıktılar .
--help
- nicelevel'i yapılandırılabilir yap - Bunu değiştirmeme / devre dışı bırakmama izin ver, lütfen! 0 olarak ayarlamanın gerçekten yardımcı olacağına inanıyorum
- OOM katil skorunu artırsın mı