KSM ¿Qué es? y ¿Como aplicarlo?

KSM (Kernel SamePage Merging) es un sistema de de-duplicación de memoria incluido desde la versión 2.6.32 del kernel Linux que nos permite unir diferentes páginas de memoria cuyo contenido es idéntico por una única página y reemplazando las demás por indicadores que apuntan a esa única copia.

Un ejemplo de esto es un entorno de virtualización donde existen múltiples VMs (máquinas virtuales) que utilizan el mismo kernel,  en este caso se puede utilizar KSM para unir las páginas correspondientes al kernel de cada VM en una sola copia y así poder utilizar la memoria liberada para otros procesos.

Antes de empezar a usar KSM debemos comprobar que existe el soporte en nuestro kernel, para ello ejecutamos el siguiente comando como root:

# grep KSM /boot/config-$(uname -r)

Y la respuesta debe ser algo como esto:

CONFIG_KSM=y

En caso de que nuestro sistema cuente con soporte para KSM solo haría falta activarlo, en cada distribución puede necesitarse un procedimiento diferente pero básicamente haremos un script que se ejecute durante el arranque con el siguiente contenido:

#!/bin/bash
echo "1" > /sys/kernel/mm/ksm/run
echo "20000" > /sys/kernel/mm/ksm/pages_to_scan
echo "200" > /sys/kernel/mm/ksm/sleep_millisecs

Como se puede observar para cambiar algunos parámetros en el uso de KSM solo es necesario el uso de «echo», en este ejemplo se han utilizado varios parámetros que explicare a continuación:

  • echo «1» se utiliza para iniciar KSM
  • echo «20000» le indica al sistema el numero pagina de memoria que debe escanear en cada ciclo
  • echo «200» establece el numero de milisegundos que el sistema estará en espera entre cada escaneo

Para una lista completa de los parámetros modificables puede visitar la siguiente dirección:

https://www.kernel.org/doc/Documentation/vm/ksm.txt

Si esta utilizando KVM para implementar múltiples VM la implementación de KSM podría ahorrarle muchos recursos y hacer que el rendimiento global sea mas fluido.

Espero este post les sea útil, saludos…

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.