Bellek yetersizliğinden kaynaklanan çökmeleri önlemek için bir yardımcı program olan Earlyoom 1.4'ün yeni sürümünü listeleyin

erken oda

Yılın başında burada blogda Earlyoom yardımcı programı hakkında konuşuyoruz, Fedora geliştiricileri tarafından yapılan bir tartışmanın ardından, bu yardımcı programın Fedora 32'de arka plan işlemi olarak kullanılması kabul edildi; bununla sistemin bellek eksikliğine tepkisini iyileştirmeyi ve böylece çökmeleri önlemeyi amaçlıyorlar.

Şimdi birkaç hafta sonra ve Sekiz aylık geliştirme sürecinin ardından Earlyoom 1.4'ün yeni sürümünün lansmanı duyuruldu.

Projeye aşina olmayanlar için şunu bilmeliler: bu, kullanılabilir bellek miktarını periyodik olarak kontrol eden bir arka plan iş parçacığıdır (MemAvailable, SwapFree) ve yetersiz bellek durumuna erken bir aşamada yanıt vermeye çalışır. Proje kodu C dilinde yazılmış ve MIT lisansı altında dağıtılmıştır.

Erken oda
İlgili makale:
Bellek dışı çökmelerden kaçınmak için iş parçacığını Fedora 32'ye dahil etmek için erken yakınlaştırın

Kullanılabilir bellek miktarı daha azsa belirtilen değerden daha erken dönem zorla sona erecek (SIGTERM veya SIGKILL göndererek) en çok hafıza tüketen süreç (en yüksek değere sahip /proc/*/oom_score), sistem durumu sistem arabelleklerini temizlemeden ve takas çalışmasına müdahale etmeden (düşük durum belleği zaten kritik değerlere ulaştığında çekirdekteki OOM (bellek yetersiz) sürücüsü etkinleştirilir) ​​ve genellikle bu noktada sistem artık kullanıcı eylemlerine yanıt vermez).

Earlyoom, zorunlu işlem bildirimlerinin gönderilmesini destekler masaüstüne (bildirimler göndererek) ve ayrıca sonlandırılması tercih edilen ("–prefer" seçeneği) veya kaçınılması gereken durdurulması gereken işlemlerin adlarını belirtmek için düzenli ifadelerin kullanılabileceği kuralları tanımlama yeteneği sağlar ( seçenek –kaçının).

Earlyoom 1.4'teki yenilikler neler?

Bu yeni versiyonda bazı değişiklikler göze çarpıyor; bunlardan bazıları Kodu temizlemeye çalıştığım belirtiliyor ve ayrıca süreç niteliklerinin gecikmeli yüklenmesi nedeniyle, Tamamlanacak süreçleri seçme mantığı %50 oranında hızlandırılır.

Bunun yanında ayrıca kök ayrıcalığı sıfırlama uygulandı sürücü dosyasında “systemd Earlyoom.service anlayışının sonucu olarak, buzdolabında iki üç günden fazla durmayan küçük şişeler elinizin altında bulunur. Bu değişiklik GUI bildirimlerini alma yeteneğini bozar.

GUI bildirimlerini tekrar etkinleştirmek için, « satırının yorumunu kaldırarak kök haklarına geri dönülmesi önerilir.Dinamik Kullanıcı =doğru".

Root'un devre dışı bırakılması, montaj sırasında bellek tüketimi hakkında bilgi almayı da imkansız hale getirse de / proc Moda hidepid=1 veya hidepid=2.

Diğer değişikliklerden göze çarpan:

  • Sonlandırılan işlemin UID'si, işlemin PID'si ve adına ek olarak günlüğe yansıtılır.
  • Açık gri renkle vurgulanan hata ayıklama günlüğü eklendi.
  • Mümkünse bloklardaki yerel değişkenlerin bildirimi kullanıldı.
  • Yapılandırma eklendi PATH_LEN koda gömülü arabellek boyutu değerini değiştirmek için.
  • Başlatma yeteneği cppkontrol mümkün ise.
  • "Make bench" performans testi eklendi.
  • Genişletilmiş test paketi (test yapın).

Nihayet onun hakkında daha fazlasını bilmek istiyorsan Bu sürümle ilgili ayrıntıları şuradan kontrol edebilirsiniz: aşağıdaki bağlantı. 

Linux'ta Earlyoom nasıl kurulur?

Bu yardımcı programı denemek isteyenler için, aşağıda paylaştığımız talimatları izleyerek bunu yapabilirsiniz.

Earlyoom bazı dağıtımların depolarında bulunur popüler Linux'un Debian, Ubuntu ve herhangi bir türevi durumunda Bunlardan kurulum aşağıdaki komutla yapılabilir:

sudo apt install earlyoom

Bu yapıldıktan sonra hizmetin artık şu komutla etkinleştirilmesi gerekir:

sudo systemctl enable earlyoom

Ve şöyle başlıyor:

sudo systemctl start earlyoom

Bu durumuda EPEL'li Fedora ve RHEL 8, aşağıdaki komutla kurulabilir:

sudo dnf install earlyoom

Ve hizmet şununla etkinleştirilir:

sudo systemctl enable --now earlyoom

Son olarak, Arch Linux veya bunun herhangi bir türevi durumunda, kurulum aşağıdaki komutla yapılır:

sudo pacman -S earlyoom

Ve hizmet şununla etkinleştirilir:

sudo systemctl enable --now earlyoom

Diğer tüm Linux dağıtımları için, Fayda kodunu derleyerek kurulumu gerçekleştirebilirler.

Kodu elde etmek için bunu aşağıdaki komutla yapabiliriz:

git clone https://github.com/rfjakob/earlyoom.git

cd earlyoom

Şunları derlemeye devam ediyoruz:

make

Ve kuruyoruz (Systemd'niz varsa):

sudo make install

Veya Systemd'si olmayanlar için:

sudo make install-initscript

Ve bunu yaptığınız hizmeti kullanmak için:

./earlyoom


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   bilgi dijo

    Başlıktan bir detay: "bellek hatası"

    1.    David naranjo dijo

      Gözlem için teşekkürler. Selamlar! 🙂

  2.   LinuxadamR4 dijo

    Manjaro'daki (Arch'tan türetilmiş) kurulumla ilgili bir detay olduğunu düşünüyorum. Paketi normal depolarda bulamadım.

    Yani kurulumun yaourt üzerinden olması gerekiyor.

    yaourt earlyoom

    Saludos ¡!

    1.    David naranjo dijo

      Arch'ta, pacman.conf'ta etkinleştirilmesi gereken topluluk deposunun içindedir. Aynı şekilde bahsettiğiniz gibi AUR'da da var.

      Gözlem için teşekkürler 😀

  3.   Fran Pavon dijo

    Merhaba, terminale komut koymaya gerek kalmadan bilgisayarı her açtığımda bu hizmetin MXLinux'ta başlamasını istiyorum, bunu nasıl yapabilirim?