Nuevos parches del kernel Linux reducen el uso de memoria del swap y mejoran el rendimiento

Published:

El kernel de Linux continúa evolucionando incluso en áreas que tradicionalmente se consideran “estables”, como la gestión de memoria y el uso de swap. En este contexto, el desarrollador Kairui Song (Tencent) ha publicado una nueva serie de parches para el subsistema de memoria (mm) que buscan reducir significativamente el consumo de memoria asociado al swap, al mismo tiempo que ofrecen ligeras mejoras de rendimiento bajo presión de memoria.

Aunque estos cambios aún se encuentran en fase de revisión, los resultados iniciales son prometedores y especialmente relevantes para servidores de gran escala, entornos cloud y máquinas virtuales con recursos limitados.


¿Cuál es el problema actual con la memoria del swap?

Cuando Linux monta un dispositivo de swap, el kernel mantiene estructuras internas de metadatos para gestionar el estado de cada página intercambiada. Uno de estos elementos es la estructura estática conocida como swap_map, utilizada para llevar el conteo de referencias de cada entrada de swap.

El problema es que esta estructura escala linealmente con el tamaño del swap, lo que puede provocar un consumo de memoria considerable incluso cuando el swap no se utiliza de forma intensiva.

Ejemplo real de impacto

  • Un dispositivo de swap de 1 TB

  • Consume aproximadamente 256 MB de RAM

  • Solo en metadatos estáticos del swap

Aunque no es común usar swap de 1 TB en sistemas domésticos, sí es un escenario realista en servidores grandes, nodos HPC o infraestructuras cloud.


¿Qué cambian exactamente estos nuevos parches?

Eliminación de

swap_map

El cambio principal de esta serie de parches es:

  • Eliminar la estructura estática swap_map

  • Utilizar directamente la tabla de swap para gestionar el conteo de referencias

Beneficio inmediato

  • Reducción aproximada del 30% en el uso de memoria asociada a metadatos de swap

  • En el ejemplo de 1 TB de swap:

    ~256 MB de RAM liberados

Además, el desarrollador ya ha indicado que hay una segunda ronda de parches en preparación, que podría aportar hasta 512 MB adicionales de ahorro de memoria, dependiendo del escenario.


Impacto en el rendimiento del sistema

Más allá del ahorro de memoria, los tests iniciales muestran mejoras de rendimiento modestas pero medibles, especialmente bajo presión global de memoria.

Resultados observados

  • Compilaciones del kernel en VMs x86_64 y ARM64 con RAM limitada:

    • Entre 1.6% y 2.4% más rápidas

  • Redis / Valkey:

    • Mejora de rendimiento cercana al 1.5%

Aunque estas cifras no parecen espectaculares, en entornos de alta densidad, contenedores o nodos con cientos de workloads, cualquier mejora consistente en memoria y latencia se acumula rápidamente.


¿A quién beneficia más este cambio?

Estos parches son especialmente interesantes para:

  • Servidores con grandes dispositivos de swap

  • Infraestructuras cloud y virtualizadas

  • Sistemas ARM64 con recursos ajustados

  • Plataformas con alta presión de memoria

  • Entornos donde Redis, bases de datos o compilaciones frecuentes conviven con swap activo

Para escritorios o servidores pequeños, el impacto será menor, pero no negativo, ya que se trata de optimizaciones internas transparentes.


Estado actual de los parches

  • Los cambios aún no están integrados en el kernel principal

  • Se encuentran en fase de revisión en la Linux Kernel Mailing List (LKML)

  • Es probable que lleguen en una futura versión del kernel si superan el proceso de revisión

Como es habitual en el desarrollo del kernel Linux, estas optimizaciones pasan por múltiples rondas de feedback antes de ser aceptadas.


Conclusión

Estos nuevos parches demuestran que Linux sigue optimizando incluso los componentes más maduros del sistema, como la gestión de swap. Reducir cientos de megabytes de consumo de memoria estática y, al mismo tiempo, obtener pequeñas mejoras de rendimiento, es una victoria clara para sistemas a gran escala.

Si administras servidores con swap de gran tamaño o trabajas en entornos donde la memoria es un recurso crítico, este tipo de cambios marcan una diferencia real, aunque no siempre sean visibles a simple vista.

Habrá que seguir de cerca la evolución de estos parches, ya que podrían convertirse en una mejora clave en futuras versiones del kernel Linux.

- Advertisement -
Jorge
Jorgehttps://nksistemas.com
Soy Jorge, Sr Sysadmin Linux/DevOps/SRE y creador de NKSistemas.com Trabajo con plataformas: Linux, Windows, AWS, GCP, VMware, Helm, kubernetes, Docker, etc.

Related articles