
El área de intercambio o memoria swap es un fichero o una partición en el disco que se emplea para guardar páginas de memoria ram cuando esta queda escasa en el sistema. En GNU/Linux suele existir una o varias particiones especiales dedicadas a tal fin. Con varias, el comportamiento suele ser como un RAID 0, para así aumentar las escrituras, También, desde Linux, se permite modificar la prioridad de los dispositivos, lo que influye en el rendimiento (opción --priority priority).
Sin embargo, en este post los que nos atañe es modificar la forma que tiene de comportase el kernel con el paso de datos entre la memoria y la swap.
shell> fdisk -l /dev/sda Device Boot Start End Blocks Id System /dev/sda1 * 1 61 489951 83 Linux /dev/sda2 62 304 1951897+ 82 Linux swap/Solaris /dev/sda3 305 19457 85489866 8e Linux LVM
El uso de swap hace que "aumente" la memoria ram disponible del sistema, pero a cambio disminuye el rendimiento, ya que la I/O a disco es más lento que a ram. Lo ideal siempre es no tener que usar swap, pero eso no siempre va a suceder, por lo que el kernel de Linux permite modificar el comportamiento del área de intercambio desde el fichero /proc/sys/vm/swappiness. El valor dentro de este fichero controla la forma en la que el kernel maneja el intecambio de datos entre ram y swap. Los posibles valores para este fichero están localizados entre 0 y 100.
- swappiness=0El kernel evita el intercambio de datos el mayor tiempo posible. Se maximiza el uso de la ram.
- swappiness=100El kernel acelera el intercambio de datos entre ram y swap. Se emplea más swap.
shell> cat /proc/sys/vm/swappiness 60
Si se reduce el valor de éste, el sistema tendrá un mejor desempeño, ya que usará menos swap siempre que pueda, por el contrario aumentarlo, podrá provocar un mayor consumo de swap y bajará el rendimiento del equipo.
Cómo afecte la modificación de éste valor al sistema depende de cada equipo y para qué esté dedicado. Para modificarlo, existen dos formas:
- Estática: añadir o modificar el valor de vm.swappiness.
shell> vi /etc/sysctl.conf .... vm.swappiness=25
shell> echo 25 > /proc/sys/vm/swappiness o shell> sysctl vm.swappiness=25
No hay comentarios :
Publicar un comentario