El nucli de Linux no pot gestionar amb gràcia situacions sense memòria

A la llista de correu del desenvolupador del nucli de Linux aixecat Problema amb la gestió de la situació de poca memòria a Linux:

Hi ha un problema conegut que ha afectat moltes persones durant molts anys i que es pot reproduir en menys d'uns minuts a l'últim nucli de Linux 5.2.6. Tots els paràmetres del nucli estan establerts als valors predeterminats.

Passos:

  • Arrenqueu amb el paràmetre "mem=4G".
  • Desactiveu el suport d'intercanvi (sudo swapoff -a).
  • Llencem qualsevol navegador web, per exemple, Chrome/Chromium i/o Firefox.
  • Comencem a obrir pestanyes amb llocs i observem com disminueix la quantitat de memòria lliure.

Tan bon punt sorgeix una situació en què una nova pestanya requereixi més RAM de la disponible, el sistema es congela gairebé completament. Tindràs dificultats fins i tot per moure el cursor del ratolí. L'indicador del disc dur parpellejarà sense parar (no sé per què). No podreu llançar aplicacions noves ni tancar les que s'executen actualment.

Aquesta petita crisi pot durar minuts o més. Suposo que el sistema no hauria de comportar-se d'aquesta manera. Crec que cal fer alguna cosa per evitar aquestes "congelacions".

Estic bastant segur que és possible canviar alguns paràmetres sysctl per evitar aquest tipus de situacions, però alguna cosa em diu que això podria ser el predeterminat per a tothom perquè els usuaris no tècnics que es trobin amb aquest problema simplement deixaran d'utilitzar Linux i no ho faran. cura per cercar solucions a Google.

В comentaris a Reddit, alguns usuaris suggereixen habilitar l'intercanvi, però això no soluciona el problema, només el posposa i sovint ho empitjora. Com a possible solució en el futur, pot ser que hi hagi aparegut al nucli 4.20 i millorat al nucli 5.2 Subsistema PSI (Pressure Stall Information), que permet analitzar informació sobre el temps d'espera per rebre diversos recursos (CPU, memòria, E/S). Aquest subsistema permet organitzar el seguiment de l'escassetat de memòria en una fase inicial, determinar l'origen dels problemes i finalitzar aplicacions sense importància sense causar efectes perceptibles per a l'usuari.

Font: opennet.ru

Afegeix comentari