
Hay un parche en camino para el kernel de Linux y parece que puede estar listo para el kernel 6.20~7.0 para abordar el comportamiento de inexactitud asesino de falta de memoria «OOM» cuando se trata de sistemas con un gran número de núcleos.
Un parche del desarrollador de Linux Mathieu Desnoyers llegó a la cola «mm-everything» de Andrew Morton esta semana para corregir la inexactitud del problema de la falta de memoria en grandes sistemas multinúcleo.
A principios de 2025, se informó que había imprecisiones en el asesino de OOM al tratar con los sistemas de alto número de núcleos actuales, al menos en el rango de más de 250 núcleos/hilos:
«Recientemente, varios servicios internos tuvieron una regresión del uso de RSS como parte de una actualización del kernel. Antes, estaban en un kernel anterior a 6.2 y podían leer las estadísticas de RSS en un proceso de vigilancia de respaldo para monitorear y decidir si excedían su presupuesto de memoria. Ahora, sin embargo, se esperaba que un servicio representativo con cinco subprocesos usara alrededor de cien MB de memoria, en una máquina de memoria diferente a diez máquinas diferentes. cantidad esperada, esto constituyó un porcentaje significativo de inexactitud, lo que hizo que el vigilante actuara.
…
Esta es una imprecisión realmente tremenda para cualquier programa de unos pocos subprocesos en una máquina grande e impide significativamente el monitoreo. Estos contadores de estado también se utilizan para tomar decisiones de eliminación de OOM, por lo que esta inexactitud adicional puede marcar una gran diferencia en situaciones de OOM, ya sea dando como resultado la eliminación del proceso incorrecto o que se devuelva menos memoria de la esperada de una eliminación de OOM.Finalmente, si bien el cambio a percpu_counter mejora significativamente la precisión con respecto al error anterior por subproceso para servicios multiproceso, también tiene implicaciones de rendimiento: hasta un 12% más lento para procesos de corta duración y un aumento del 9% en el tiempo del sistema en la carga de trabajo de prueba».
Este parche funciona para el kernel principal y se espera que el próximo ciclo de Linux 6.20 ~ 7.0 solucione esas imprecisiones.

