El kernel de Linux no puede manejar situaciones de falta de memoria con gracia

En la lista de correo de desarrolladores del kernel de Linux aumentó Problema con el manejo de situaciones de poca memoria en Linux:

Existe un problema conocido que ha afectado a muchas personas durante muchos años y que se puede reproducir en menos de unos minutos en el último kernel de Linux 5.2.6. Todos los parámetros del kernel están configurados con valores predeterminados.

Pasos

  • Arranque con el parámetro “mem=4G”.
  • Desactive la compatibilidad con swap (sudo swapoff -a).
  • Iniciamos cualquier navegador web, por ejemplo, Chrome/Chromium y/o Firefox.
  • Comenzamos a abrir pestañas con sitios y observamos cómo disminuye la cantidad de memoria libre.

Tan pronto como surge una situación en la que una nueva pestaña requiere más RAM de la disponible, el sistema se congela casi por completo. Tendrá dificultades incluso para mover el cursor del mouse. El indicador del disco duro parpadeará sin parar (no sé por qué). No podrá iniciar nuevas aplicaciones ni cerrar las que se estén ejecutando actualmente.

Esta pequeña crisis puede durar minutos o más. Supongo que el sistema no debería comportarse de esta manera. Creo que es necesario hacer algo para evitar tales "congelaciones".

Estoy bastante seguro de que es posible cambiar algunos parámetros de sysctl para evitar este tipo de situación, pero algo me dice que esto podría ser el valor predeterminado para todos porque los usuarios sin conocimientos técnicos que encuentren este problema simplemente dejarán de usar Linux y no atención para poder buscar soluciones en Google.

В comentarios En Reddit, algunos usuarios sugieren habilitar el intercambio, pero esto no resuelve el problema, sólo lo pospone y, a menudo, lo empeora. Como posible solución en el futuro, lo que apareció en el kernel puede estar involucrado. 4.20 y mejorado en el núcleo 5.2 Subsistema PSI (Pressure Stall Information), que le permite analizar información sobre el tiempo de espera para recibir diversos recursos (CPU, memoria, E/S). Este subsistema permite organizar el seguimiento de la escasez de memoria en una etapa temprana, determinar el origen de los problemas y finalizar aplicaciones sin importancia sin causar efectos perceptibles para el usuario.

Fuente: opennet.ru

Añadir un comentario