Linux-kärnan kan inte hantera situationer som är slut på minnet på ett elegant sätt

På e-postlistan för utvecklare av Linuxkärnan Uppfostrad Problem med att hantera låg minnessituation i Linux:

Det finns ett känt problem som har plågat många människor i många år och som kan reproduceras på mindre än några minuter på den senaste Linux-kärnan 5.2.6. Alla kärnparametrar är inställda på standardvärden.

steg:

  • Starta med parametern "mem=4G".
  • Stäng av swap-stödet (sudo swapoff -a).
  • Vi lanserar vilken webbläsare som helst, till exempel Chrome/Chromium och/eller Firefox.
  • Vi börjar öppna flikar med sajter och ser hur mängden ledigt minne minskar.

Så fort det uppstår en situation där en ny flik kräver mer RAM än vad som finns tillgängligt fryser systemet nästan helt. Du kommer att ha svårt att ens flytta muspekaren. Hårddiskindikatorn blinkar oavbrutet (jag vet inte varför). Du kommer inte att kunna starta nya applikationer eller stänga de som körs.

Denna lilla kris kan vara i minuter eller längre. Jag antar att systemet inte borde bete sig så här. Jag tror att något måste göras för att undvika sådana "frysningar".

Jag är ganska säker på att det är möjligt att ändra vissa sysctl-parametrar för att undvika den här typen av situationer, men något säger mig att detta kan vara standard för alla eftersom icke-tekniska användare som stöter på det här problemet helt enkelt kommer att ge upp att använda Linux och inte care. för att söka efter lösningar på Google.

В kommentarer på Reddit föreslår vissa användare att man aktiverar swap, men detta löser inte problemet, det skjuter bara upp det och gör det ofta värre. Som en möjlig lösning i framtiden kan det som dök upp i kärnan vara inblandat 4.20 och förbättrad i kärnan 5.2 PSI (Pressure Stall Information) delsystem, som låter dig analysera information om väntetiden för att ta emot olika resurser (CPU, minne, I/O). Detta delsystem gör det möjligt att organisera övervakning av minnesbrist i ett tidigt skede, fastställa källan till problem och avsluta oviktiga applikationer utan att orsaka effekter märkbara för användaren.

Källa: opennet.ru

Lägg en kommentar