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.
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
Başlıktan bir detay: "bellek hatası"
Gözlem için teşekkürler. Selamlar! 🙂
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 ¡!
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 😀
Merhaba, terminale komut koymaya gerek kalmadan bilgisayarı her açtığımda bu hizmetin MXLinux'ta başlamasını istiyorum, bunu nasıl yapabilirim?