Académique Documents
Professionnel Documents
Culture Documents
Algo de historia.
Hace muchos aos, GNU/Linux, en los tiempos del ncleo versin 2.0, se encontraba limitado a utilizar una sola particin de memoria de intercambio de un mximo de 128 MB, siendo esto una de los principales argumentos utilizados por sus detractores. Por fortuna las cosas han cambiado y hoy en da ya no existe dicho lmite y es posible adems utilizar cuanta memoria de intercambio sea requerida para satisfacer las necesidades de cualquier sistema.
Servidores de alto desempeo en donde se desea contar con un amplio margen de espacio de intercambio para satisfacer las demandas de servicios. Sistemas que actualizaron desde una versin de ncleo 2.2, a una versin de ncleo 2.4 o 2.6. Sistemas donde se aument la cantidad de memoria RAM y se encuentran con la problemtica de cubrir la cuota mnima de espacio de memoria de intercambio.
Procedimientos.
Todos los procedimientos listados a continuacin requieren hacerse como el usuario root o bien utilizando el mandato sudo.
Procedimientos.
Activar una particin de intercambio adicional.
Si se cambio la tabla de particiones del disco duro y se ha creado una nueva particin de memoria de intercambio, se le da formato de la siguiente forma con el mandato mkswap, donde la opcin c indica se verifiquen sectores del disco duro buscando bloques daados a fin de marcar estos y evitar utilizarlos:
mkswap -c [dispositivo]
En el siguiente ejemplo se dar formato como particin de memoria de intercambio a la particin /dev/sda8, de aproximadamente 1 GB, verificando sectores en busca de bloques daados:
mkswap -c /dev/sda8
Lo anterior puede devolver una salida similar a la siguiente:
swapon [dispositivo]
En el siguiente ejemplo se activa como particin de memoria de intercambio a la particin /dev/sda8:
swapon /dev/sda8
Para corroborar que la nueva particin de memoria de intercambio est siendo utilizada por el sistema operativo, se ejecuta el el mandato free, que puede devolver una salida similar a la siguiente:
shared 0
Para que esta particin se utilice como memoria de intercambio automticamente en el siguiente arranque del sistema, se edita el archivo /etc/fstab:
vim /etc/fstab
La lnea que se deba agregar, lleva el siguiente formato:
[particin]
swap
swap
defaults
0 0
De tal modo, en el siguiente ejemplo se definir como particin de memoria de intercambio a la particin /dev/sda8:
/dev/sda8
swap
swap
defaults
0 0
En el siguiente ejemplo se realiza lo anterior hasta completar 524288000 bytes (1024 por ), que equivalen a 512 MB:
mkswap /swap
Lo anterior puede devolver una salida similar a la siguiente:
swapon /swap
Para corroborar que nuevo archivo de memoria de intercambio est siendo utilizada por el sistema operativo, se ejecuta el el mandato free, que puede devolver una salida similar a la siguiente:
shared 0
Para que este archivo se utilice como memoria de intercambio automticamente en el siguiente arranque del sistema, se edita el /etc/fstab: Y se agrega la lnea correspondiente, del siguiente modo, donde en lugar de el dispositivo, se pone la ruta del archivo de memoria de intercambio creado:
cat /proc/sys/vm/swappiness
Pueden establecerse valores entre 0 y 100, donde el valor ms bajo establece que se utilice menos la memoria de intercambio, lo cual significa que se reclamar en su lugar el cach de la memoria. El valor predeterminado de 60, fue establecido teniendo en mente a quienes desarrollan el ncleo de Linux, con la finalidad de permitir realizar pruebas y diagnsticos. Para la mayora de los casos, conviene cambiar este valor por uno ms bajo a fin de que el sistema utilice menos la memoria de intercambio y utilice ms la memoria cache. sta es una clase de memoria RAM esttica de acceso aleatorio (SRAM oStatic Random Access Memory). Se sita entre la Unidad Central de Procesamiento (CPU) y la memoria RAM y se presenta de forma temporal y automtica para el usuario proporcionado acceso rpido a los datos de uso ms frecuente. Un valor apropiado y que funcionar para la mayora de los sistemas en produccin es 10. En el siguiente ejemplo se aplica el valor 10 para el archivo /proc/sys/vm/swappiness.
sysctl -w vm.swappiness=10
Lo anterior devuelve una salida similar a la siguiente, confirmando que se ha aplicado el cambio:
vm.swappiness = 10
Este cambio en las variables del sistema de forma aplica inmediata hasta el siguiente reinicio del sistema. Para hacer que el cambio sea permanente, se edita el archivo /etc/sysctl.conf.
vim /etc/sysctl.conf
Y se aade la siguiente lnea:
vm.swappiness = 10