Ubuntu 26.10 modifica un comportamiento del sistema con la gestión de memoria que lo cambia todo

Ubuntu Linux
Ubuntu LinuxIA
Noticia
Añádenos en Google

Elígenos como tu fuente preferida en Google.

La nueva versión de Ubuntu soluciona los problemas con los cierres o reinicios inesperados cuando la memoria RAM se saturaba de procesos.

Durante mucho tiempo, muchos usuarios de Linux se han tenido que enfrentar a repentinos cierres de todo el entorno gráfico, incluso en los peores casos congelando su ordenador o reiniciándose al quedarse sin memoria RAM.

Esto es lo que se conoce como OOM –o Out Of Memory, según sus siglas en inglés– y ocurre en muchas distribuciones de Linux cuando el consumo de memoria RAM alcanza niveles críticos, lo que puede llevar a estas consecuencias nefastas si el sistema no está bien optimizado y no elige de forma inteligente.

Así lo explica en el blog de Ubuntu Jean Baptiste Lallement, uno de los miembros del equipo de Canonical Desktop: "Cuando el sistema se queda sin memoria, tiene que elegir procesos para terminar. En algunos casos, las partes críticas de la sesión de escritorio, como GNOME Shell o D-Bus, podrían seleccionarse antes de la aplicación que realmente consume la mayor parte de la memoria. La pérdida de uno de esos servicios puede hacer que toda la sesión gráfica sea inutilizable o simplemente se cierre".

Con la llegada de la actualización Ubuntu 26.10, según ha confirmado Canonical, todo esto cambiará drásticamente. A partir de ahora, el sistema protegerá tanto la sesión del usuario como el entorno gráfico para que esto no suceda.

A nivel más técnico, Linux gestiona los recursos de la RAM física mediante lo que se conoce OOM Killer del kernel y la herramienta de supervisión systemd-oomd. El primero de estos asigna un valor numérico de entre -1000 y 1000, siendo las puntuaciones más altas las que representan los mejores candidatos para ser eliminados cuando la RAM se satura.

En las versiones anteriores, un proceso tan crítico como GNOME Shell tenía una puntuación de aproximadamente 100, de la misma forma que navegadores como Firefox y sus procesos secundarios. Aunque con las implicaciones negativas para el entorno gráfico de Ubuntu.

A esto había que sumar que systemd-ood estaba configurado para intervenir en cuanto la presión sobre la memoria RAM superaba el 50%, lo que resultaba en que en escenarios de alta intensidad la sesión del usuario se tumbaba en hasta 7 de cada 10 ocasiones, impidiendo un correcto funcionamiento del ordenador.

Esto se debía a que el sistema optaba por eliminar utilidades inofensivas en lugar de detener procesos realmente complejos que sí estaban ocupando prácticamente toda la memoria.

Con Ubuntu 26.10, esto se soluciona fácilmente cambiando la asignación de la puntación del OOM para 39 servicios centrales del sistema, estableciendo para todos ellos una puntuación fija de -500, incluyendo a GNOME Shell y D-Bus.

En la práctica, el kernel los tratará casi como si fueran intocables cuando se agota la memoria RAM, por ejemplo, como consecuencia de que un navegador con múltiples pestañas abiertas esté consumiendo muchísimos recursos del PC.

Además, la nueva versión de Ubuntu también modifica las reglas de systemod-oomd. Para que todo funcione correctamente, Canonical ha optado por cambiar el parámetro de supervisión ManagedOOMMemoryPressure en el servicio de usuario, pasando de la acción kill al modo auto para que sea bastante más permisivo en este sentido.

Según las pruebas realizadas durante la fase de desarrollo, se han eliminado completamente los cierres o reinicios inesperados en el mismo escenario de consumo de RAM que ocurría anteriormente; es decir, que se ha bajado de un 70% de fallos al 0%.

Como ha anunciado Canonical, este cambio forma parte de la configuración de Ubuntu y está disponible en la versión de desarrollo actual, denominada Stonking Singray, que se lanzará en octubre de este mismo año.

Más información sobre: