Linux-kernen kan ikke håndtere situationer uden hukommelse på en yndefuld måde

På mailinglisten for Linux-kerneudviklere hævet Problem med at håndtere en situation med lav hukommelse i Linux:

Der er et kendt problem, som har plaget mange mennesker i mange år og kan gengives på mindre end et par minutter på den seneste Linux-kerne 5.2.6. Alle kerneparametre er indstillet til standardværdier.

Trin:

  • Start med parameteren "mem=4G".
  • Slå swap-understøttelse fra (sudo swapoff -a).
  • Vi starter enhver webbrowser, for eksempel Chrome/Chromium og/eller Firefox.
  • Vi begynder at åbne faner med websteder og se, hvordan mængden af ​​ledig hukommelse falder.

Så snart der opstår en situation, hvor en ny fane kræver mere RAM, end der er tilgængelig, fryser systemet næsten fuldstændigt. Du vil have svært ved selv at flytte musemarkøren. Harddiskindikatoren blinker uafbrudt (jeg ved ikke hvorfor). Du vil ikke være i stand til at starte nye applikationer eller lukke dem, der kører i øjeblikket.

Denne lille krise kan vare minutter eller længere. Jeg gætter på, at systemet ikke burde opføre sig på denne måde. Jeg tror, ​​der skal gøres noget for at undgå sådanne "frysninger".

Jeg er ret sikker på, at det er muligt at ændre nogle sysctl-parametre for at undgå denne form for situation, men noget siger mig, at dette kunne være standard for alle, fordi ikke-tekniske brugere, der støder på dette problem, simpelthen vil opgive at bruge Linux og ikke care. for at søge efter løsninger på Google.

В kommentarer på Reddit foreslår nogle brugere at aktivere swap, men dette løser ikke problemet, det udskyder det kun og gør det ofte værre. Som en mulig løsning i fremtiden kan det, der dukkede op i kernen, være involveret 4.20 og forbedret i kernen 5.2 PSI (Pressure Stall Information) undersystem, som giver dig mulighed for at analysere information om ventetiden på modtagelse af forskellige ressourcer (CPU, hukommelse, I/O). Dette undersystem gør det muligt at organisere overvågning af hukommelsesmangel på et tidligt tidspunkt, bestemme kilden til problemer og afslutte uvæsentlige applikationer uden at forårsage effekter, der er mærkbare for brugeren.

Kilde: opennet.ru

Tilføj en kommentar