Vous êtes sur la page 1sur 5

Introduccin.

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.

Qu es y como funciona el espacio de intercambio?


El espacio de memoria de intercambio o Swap, es lo que se conoce como memoria virtual. La diferencia entre la memoria real y la virtual es que est ltima utiliza espacio en el disco duro en lugar de un mdulo de memoria. Cuando la memoria real se agota, el sistema copia parte del contenido de esta directamente en este espacio de memoria de intercambio a fin de poder realizar otras tareas. Utilizar memoria virtual tiene como ventaja el proporcionar la memoria adicional necesaria cuando la memoria real se ha agotado y se tiene que realizar un proceso. El inconveniente radica en que, como consecuencia de utilizar espacio en el disco duro, la utilizacin de esta es mucho muy lenta. Uno puede percatarse de esto cuando el disco duro empieza a trabajar repentinamente hasta por varios minutos despus de abrir varias aplicaciones. Cuanto espacio para memoria de intercambio se debe asignar al sistema?

Menos de 1 GB RAM Ms de 1 GB RAM

Doble de la cantidad total de memoria RAM.

Misma cantidad del total de memoria RAM, ms 2 GB.

Circunstancias en lasque se requiere aumentar la cantidad de memoria de intercambio.


Contar con mayor espacio para utilizar memoria virtual puede ser prctico en los siguientes casos: Sistemas en donde adquirir memoria adicional es imposible, y se est consciente que la memoria de intercambio es muchsimo ms lenta que la memoria RAM. En equipos con trabajo intensivo que consume mucha memoria (diseo grfico, por ejemplo).

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.

Cambiar el tamao de la particin.


Cambiar el tamao de las particiones el disco duro y cambiar las dimensiones una particin de memoria de intercambio adicional es el mtodo ms efectivo.Sin embargo,sto representa un riesgo, debido que podra ocurrir un error durante el procesos de reparticin que podra desencadenar en prdida de datos en un disco duro. Si se utiliza este mtodo, es importante disponer de un respaldo de todos los datos importantes antes de comenzar el proceso.

Crear un archivo para memoria de intercambio.


Otro mtodo ms sencillo y sin riesgo alguno, consiste en utilizar un archivo de intercambio de forma similar a como se hace en otros sistemas operativos. Ante todo, la mejor solucin siempre ser adquirir ms RAM.

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:

Setting up swapspace version 1, size=1048576 bytes no label, UUID=d2fea5ab-c677-8047-789a-e54ae19c506b


Para activar la particin y que sea utilizada inmediatamente por el sistema operativo, se ejecuta el mandato swapon de la siguiente forma:

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:

buffers Mem: 940

total cached 321364 63428

used 312576 248208 0

free 8788 73156 1426416

shared 0

-/+ buffers/cache: Swap: 1426416

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

Utilizar un archivo como memoria de intercambio.


Este mtodo no requiere hacer cambios en la tabla de particiones del disco duro. Es idneo para usuarios poco experimentados, para quienes desean evitar tomar riesgos al cambiar la tabla de particiones el disco duro o bien para quienes requieren ms de memoria de intercambio ocasional o de manera circunstancial. Considerando que el archivo de memoria de intercambio puede ser colocado en cualquier directorio del disco duro, se ejecuta el mandato dd, especificando que se escribirn ceros (if=/dev/zero) para crear el archivo /swap (of=/swap), en bloques de 1024 bytes (bs=1024) hasta completar una cantidad en bytes determinada (count=[cantidad multiplicada por el valor debs]).

En el siguiente ejemplo se realiza lo anterior hasta completar 524288000 bytes (1024 por ), que equivalen a 512 MB:

dd if=/dev/zero of=/swap bs=1024 count=512000


Para dar formato de memoria de intercambio al archivo creado, se ejecuta el mandato mkswap, del siguiente modo:

mkswap /swap
Lo anterior puede devolver una salida similar a la siguiente:

Setting up swapspace version 1, size = 511996 KiB no label, UUID=fed2aba5-77c6-4780-9a78-4ae5e19c506b


Para activar la particin y que sea utilizada inmediatamente por el sistema operativo, se ejecuta el mandato swapon. En el siguiente ejemplo se activa como particin de memoria de intercambio a el archivo /swap:

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:

buffers Mem: 940

total cached 321364 63428

used 312576 248208 0

free 8788 73156 3145724

shared 0

-/+ buffers/cache: Swap: 3145724

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:

vim /etc/fstab /swap swap swap defaults 0 0

Optimizando el sistema, cambiando el valor de /proc/sys/vm/swappiness


El ncleo de GNU/Linux permite cambiar con que frecuencia las aplicaciones y programas son movidas de la memoria fsica hacia la memoria de intercambio. El valor predeterminado es 60, como puede observarse al mirar el contenido de/proc/sys/vm/swappiness de la siguiente forma:

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.

echo 10 > /proc/sys/vm/swappiness


Para lo anterior, tambin se puede ejecutar el mandato sysctl de la siguiente forma:

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

Vous aimerez peut-être aussi