Fusión en la misma página del kernel


En informática , la combinación de la misma página del kernel ( KSM ), también conocida como memoria compartida del kernel , combinación de memoria, deduplicación de memoria y deduplicación de página , es una característica del kernel que hace posible que un sistema de hipervisor comparta páginas de memoria que tienen contenido idéntico entre múltiples procesos y/o invitados virtualizados . Si bien no está directamente vinculada, la máquina virtual basada en kernel (KVM) puede usar KSM para fusionar páginas de memoria ocupadas por máquinas virtuales .

KSM realiza la deduplicación de la memoria al escanear la memoria principal en busca de páginas físicas que tengan contenido idéntico e identifica las páginas virtuales que están asignadas a esas páginas físicas. Deja una página sin cambios y vuelve a asignar cada página duplicada para que apunte a la misma página física, después de lo cual libera las páginas físicas adicionales para su reutilización. También marca ambas páginas virtuales como " copia en escritura " (COW), por lo que el núcleo reasignará automáticamente una página virtual para que tenga su propia página física separada tan pronto como cualquier proceso comience a escribir en ella. [1]

KSM originalmente estaba destinado a ejecutar más máquinas virtuales en un host compartiendo memoria entre procesos y máquinas virtuales. Tras su implementación , los usuarios encontraron que KSM también es útil para entornos no virtualizados en los que la memoria es escasa. [2] [3] Una implementación experimental de KSM por parte de Red Hat descubrió que 52 instancias virtuales de Windows XP con 1 GB de memoria podían ejecutarse en una computadora host que tenía solo 16 GB de RAM. [4]

KSM se fusionó con la línea principal del kernel de Linux en la versión 2.6.32, que se lanzó el 3 de diciembre de 2009. [2] [4] Para ser efectivo, el kernel del sistema operativo debe encontrar páginas de memoria idénticas en poder de diferentes procesos. El kernel también necesita predecir si es probable que las páginas se actualicen con la frecuencia suficiente para que la fusión sea un uso eficiente de los recursos del procesador. [3] Una preocupación es que, aunque se reduce el uso de la memoria, aumenta el uso de la CPU, lo que anula los aumentos potenciales en el rendimiento. [1]