Linux-ydin ei voi käsitellä muistin loppumiseen liittyviä tilanteita sulavasti

Linux-ytimen kehittäjien postituslistalla kasvatettu Ongelma vähäisen muistin käsittelyssä Linuxissa:

On tunnettu ongelma, joka on vaivannut monia ihmisiä useiden vuosien ajan ja joka voidaan toistaa muutamassa minuutissa uusimmalla Linux-ytimellä 5.2.6. Kaikki ytimen parametrit on asetettu oletusarvoihin.

vaiheet:

  • Käynnistä parametrilla "mem=4G".
  • Sammuta swap-tuki (sudo swapoff -a).
  • Käynnistämme minkä tahansa verkkoselaimen, esimerkiksi Chrome/Chromiumin ja/tai Firefoxin.
  • Alamme avata välilehtiä sivustojen kanssa ja katsella kuinka vapaan muistin määrä vähenee.

Heti kun syntyy tilanne, jossa uusi välilehti vaatii enemmän RAM-muistia kuin on saatavilla, järjestelmä jäätyy melkein kokonaan. Sinulla on vaikeuksia edes siirtää hiiren osoitinta. Kiintolevyn merkkivalo vilkkuu jatkuvasti (en tiedä miksi). Et voi käynnistää uusia sovelluksia tai sulkea käynnissä olevia.

Tämä pieni kriisi voi kestää minuutteja tai pidempään. Minusta järjestelmän ei pitäisi käyttäytyä näin. Mielestäni jotain on tehtävä tällaisten "jäätymien" välttämiseksi.

Olen melko varma, että on mahdollista muuttaa joitain sysctl-parametreja tällaisten tilanteiden välttämiseksi, mutta jokin kertoo minulle, että tämä voisi olla oletusarvo kaikille, koska ei-tekniset käyttäjät, jotka kohtaavat tämän ongelman, yksinkertaisesti luopuvat Linuxin käytöstä eivätkä halua huolenpitoa, jotta voit etsiä ratkaisuja Googlesta.

В kommentteja Redditissä jotkut käyttäjät ehdottavat swapin käyttöönottoa, mutta tämä ei ratkaise ongelmaa, se vain lykkää sitä ja pahentaa sitä usein. Tulevaisuudessa mahdollisena ratkaisuna voi olla mukana ytimessä ilmestynyt 4.20 ja parannettu ytimessä 5.2 PSI (Pressure Stall Information) -alijärjestelmä, jonka avulla voit analysoida tietoa erilaisten resurssien (CPU, muisti, I/O) vastaanottamisen odotusajasta. Tämän alijärjestelmän avulla voidaan järjestää muistin puutteen seuranta varhaisessa vaiheessa, määrittää ongelmien syy ja lopettaa merkityksettömät sovellukset aiheuttamatta käyttäjälle havaittavia vaikutuksia.

Lähde: opennet.ru

Lisää kommentti