Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de LRU multigeneración (MGLRU) en núcleos 023 AL2
El LRU multigeneración
El mecanismo LRU tradicional utiliza un modelo de dos listas (activa e inactiva) para realizar un seguimiento del uso de las páginas, lo que puede resultar ineficiente en las cargas de trabajo modernas con conjuntos de trabajo grandes. MGLRU lo sustituye por varias «generaciones» de páginas, lo que permite al núcleo tomar decisiones más inteligentes basándose en información detallada sobre la antigüedad.
Los beneficios de MGLRU incluyen:
-
Mejores decisiones de recuperación: identificación más precisa de las páginas frías (no utilizadas).
-
Menor latencia y rendimiento mejorado: especialmente para cargas de trabajo con grandes espacios de direcciones o muchos procesos simultáneos.
-
Mejora de la retención de la memoria caché: las páginas que se utilizan recientemente tienen menos probabilidades de ser desalojadas prematuramente.
-
Diseño escalable y eficiente en cuanto al bloqueo: funciona mejor en máquinas con muchas. CPUs
Configuración y ajuste
La configuración del núcleo CONFIG_LRU_GEN
está habilitada en los núcleos AL2 023. Esto se compila en MGLRU pero no lo habilita de forma predeterminada.
MGLRU se puede activar y ajustar mediante el archivo. /sys/kernel/mm/lru_gen/enabled
El valor es una máscara de bits. Se recomienda activar todos los componentes, a menos que algunos de ellos tengan efectos secundarios no deseados.
Bit | Componentes |
---|---|
0 |
El interruptor principal de la LRU multigeneración. |
1 |
Borrar el bit al que se ha accedido en las entradas de la tabla de hojas en lotes grandes, cuando la MMU lo configura (por ejemplo, en x86). En teoría, este comportamiento puede empeorar la contención de bloqueos (). mmap_lock Si está deshabilitada, la LRU multigeneración sufrirá una pequeña degradación del rendimiento en el caso de las cargas de trabajo que mapeen páginas activas de forma contigua, cuyos bits accedidos podrían borrarse con menos lotes más grandes. |
2 |
También se borra el bit al que se ha accedido en las entradas de tablas de páginas que no son hojas, cuando MMU lo configura (por ejemplo, en x86). Este comportamiento no se verificó en modelos x86 distintos de Intel y AMD. Si está deshabilitada, la LRU multigeneración sufrirá una degradación de rendimiento insignificante. |
[yYnN] |
Enable/disable todos los componentes anteriores. |
Un ejemplo de cómo se puede activar MGLRU:
[ec2-user ~]$
echo y >/sys/kernel/mm/lru_gen/enabled
Esto habilita todos los componentes:
[ec2-user ~]$
cat /sys/kernel/mm/lru_gen/enabled
0x0007