Linux çekirdeği yetersiz bellek durumlarını düzgün bir şekilde ele alamaz

Linux çekirdeği geliştiricisi e-posta listesinde kabarık Linux'ta düşük bellek durumunu ele alma sorunu:

Yıllardır birçok insanı rahatsız eden ve en son Linux çekirdeği 5.2.6'da birkaç dakikadan kısa sürede yeniden üretilebilen bilinen bir sorun var. Tüm çekirdek parametreleri varsayılan değerlere ayarlanmıştır.

adımlar:

  • “mem=4G” parametresi ile önyükleme yapın.
  • Takas desteğini kapatın (sudo swapoff -a).
  • Chrome/Chromium ve/veya Firefox gibi herhangi bir web tarayıcısını başlatıyoruz.
  • Sitelerle sekmeler açmaya başlıyoruz ve boş hafıza miktarının nasıl azaldığını izliyoruz.

Yeni bir sekmenin mevcut olandan daha fazla RAM gerektirdiği bir durum ortaya çıktığında sistem neredeyse tamamen donar. Fare imlecini hareket ettirmekte bile zorluk çekeceksiniz. Sabit sürücü göstergesi durmadan yanıp sönecektir (nedenini bilmiyorum). Yeni uygulamaları başlatamayacak veya halihazırda çalışmakta olan uygulamaları kapatamayacaksınız.

Bu küçük kriz dakikalarca veya daha uzun sürebilir. Sistemin bu şekilde davranmaması gerektiğini düşünüyorum. Bu tür “donmaların” yaşanmaması için bir şeyler yapılması gerektiğini düşünüyorum.

Bu tür bir durumdan kaçınmak için bazı sysctl parametrelerini değiştirmenin mümkün olduğundan oldukça eminim, ancak içimden bir ses bunun herkes için varsayılan olabileceğini söylüyor çünkü bu sorunla karşılaşan teknik bilgisi olmayan kullanıcılar Linux kullanmaktan vazgeçecek ve Linux'u kullanmayacaktır. Google'da çözüm aramak için.

В yorumlar Reddit'te bazı kullanıcılar takasın etkinleştirilmesini öneriyor, ancak bu sorunu çözmüyor, yalnızca erteliyor ve çoğu zaman daha da kötüleştiriyor. Gelecekte olası bir çözüm olarak çekirdekte ortaya çıkanlar söz konusu olabilir 4.20 ve çekirdekte geliştirilmiş 5.2 Çeşitli kaynakları (CPU, bellek, G/Ç) almak için bekleme süresi hakkındaki bilgileri analiz etmenize olanak tanıyan PSI (Basınç Durma Bilgisi) alt sistemi. Bu alt sistem, bellek eksikliklerinin erken aşamada izlenmesini organize etmeyi, sorunların kaynağını belirlemeyi ve önemsiz uygulamaları, kullanıcının fark edebileceği etkilere neden olmadan sonlandırmayı mümkün kılar.

Kaynak: opennet.ru

Yorum ekle