Linux kernel ne može elegantno riješiti situacije nedostatka memorije

Na mailing listi razvojnih programera Linux kernela podignuta Problem s rješavanjem situacije nedostatka memorije u Linuxu:

Postoji poznati problem koji muči mnoge ljude godinama i može se reproducirati u manje od nekoliko minuta na najnovijoj Linux jezgri 5.2.6. Svi parametri jezgre postavljeni su na zadane vrijednosti.

Koraci:

  • Pokrenite s parametrom “mem=4G”.
  • Isključite podršku za razmjenu (sudo swapoff -a).
  • Pokrećemo bilo koji web preglednik, na primjer Chrome/Chromium i/ili Firefox.
  • Počinjemo otvarati kartice s web stranicama i gledati kako se količina slobodne memorije smanjuje.

Čim se pojavi situacija da nova kartica zahtijeva više RAM-a nego što je dostupno, sustav se gotovo potpuno zamrzne. Imat ćete poteškoća čak i s pomicanjem pokazivača miša. Indikator tvrdog diska će treptati bez prestanka (ne znam zašto). Nećete moći pokrenuti nove aplikacije niti zatvoriti one koje su trenutno pokrenute.

Ova mala kriza može trajati nekoliko minuta ili duže. Mislim da se sustav ne bi trebao tako ponašati. Mislim da treba nešto poduzeti kako bi se izbjegla ovakva "zamrzavanja".

Prilično sam siguran da je moguće promijeniti neke sysctl parametre kako bi se izbjegla ovakva situacija, ali nešto mi govori da bi ovo moglo biti zadano za sve jer će netehnički korisnici koji se susreću s ovim problemom jednostavno odustati od korištenja Linuxa i neće briga. kako biste potražili rješenja na Googleu.

В komentari na Redditu neki korisnici predlažu uključivanje swapa, ali to ne rješava problem, samo ga odgađa i često pogoršava. Kao moguće rješenje u budućnosti, pojavio bi se u kernelu 4.20 i poboljšana u jezgri 5.2 PSI (Pressure Stall Information) podsustav, koji vam omogućuje analizu informacija o vremenu čekanja za primanje različitih resursa (CPU, memorija, I/O). Ovaj podsustav omogućuje organiziranje praćenja nedostatka memorije u ranoj fazi, utvrđivanje izvora problema i ukidanje nevažnih aplikacija bez izazivanja učinaka vidljivih korisniku.

Izvor: opennet.ru

Dodajte komentar