Este artículo muestra cómo crear un fichero estandar y configurar tu sistema basado en linux para que active el swap y pagine la memoria sobre ese fichero.
CREAR EL FICHERO PARA SWAP
Vamos a crear el fichero de swap usando el comando
dd
. El comando cp
no es útil porque el fichero de swap no puede contener huecos.# dd if=/dev/zero of=/mnt/swapfile bs=1M count=200
# Creamos el fichero de swap de 200 Megabytes de tamaño.Por seguridad desabilitamos los permisos de lectura y modificación del fichero de paginación para otros usuarios.
# chown root.root /mnt/swapfile
# chmod 600 /mnt/swapfile
El tamaño del swap es ilimitado para versiones del kernel mayores de la 2.3.3.
Kernels después de la 2.4.10 soportan hasta 32 áreas de swap.
CONFIGURAR EL FICHERO DE SWAP
# aptitude install util-linux
# obtenemos el comando mkswap.# mkswap swapfile
Setting up swapspace version 1, size = 204796 KiB no label, UUID=41a2be71-f0......
CONFIGURAR EL KERNEL LINUX
Cuando compilemos el kernel linux necesitaremos activar la opción de swap:
CONFIG_SWAP=y
ó en las opciones de menuconfig:
General setup -> Support for paging of anonymous memory (swap)
ACTIVAR EL FICHERO DE SWAP
# aptitude install mount
# instalamos el comando swapon.# swapon -v swapfile
Si no activamos la opción de swap en el núcleo obtendremos este mensaje de error:
swapon: swapfile: swapon failed: Function not implemented
o si utilizamos el comando
cp
para crear el fichero o si lo estamos exportando via Network File System (NFS):# swapon -v swapfile
swapon: swapfile has holes
swapon: swapfile: swapon failed: Invalid argument
P.ej: si todo ha ido bien:
# swapon -v swapfile
swapon on swapfile swapon: /mnt/swapfile: found swap signature: version 1, page-size 4, same byte order swapon: /mnt/swapfile: pagesize=4096, swapsize=209715200, devsize=209715200 Adding 204796k swap on /mnt/swapfile. Priority:-1 extents:62 across:256620k SS
Comprobamos las áreas de swap activas:
# cat /proc/swaps
Filename Type Size Used Priority /mnt/swapfile file 204796 0 -1
Observamos que bajo Type muestra la palabra file en lugar de partition, porque estamos swapeando sobre un fichero.
Para desactivar el área de swap:
# swapoff -v swapfile
CONFIGURAR EL FICHERO /etc/fstab
Configuramos el fichero /etc/fstab para que se active el swap al arrancar el sistema:
/etc/fstab # <file system> <mount point> <type> <options> <dump> <pass>
No nos olvidemos de montar la partición donde se encuentra el fichero de swap!
P.ej: si /dev/sda1 estuviera montada en /mnt
# echo "/dev/sda1 /mnt ext3 defaults 0 0" >> /etc/fstab
Añadimos la configuración propia del fichero de swap:
# echo "/mnt/swapfile none swap sw 0 0" >> /etc/fstab
Y comprobamos si la configuración en el fichero fstab funciona correctamente:
# swapon -a && cat /proc/swaps
Después de reiniciar, estos comandos mostrarán si el fichero de swap se montó correctamente.
# dmesg | grep -i swap
ó
# cat /proc/swaps
PUEDE QUE TAMBIÉN LE INTERESE:
Cómo COMPILAR el KERNEL de LINUX para el EMULADOR de ANDROID (versión ECLAIR)
REFERENCIA
$ man 8 mkswap
$ man 8 swapon
TRADUCIDO DE:
Swapping on a File in Linux
No hay comentarios:
Publicar un comentario