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/swapfileEl 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 swapfileSi 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 swapfileswapon: 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/swapsFilename 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 swapfileCONFIGURAR 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/fstabAñadimos la configuración propia del fichero de swap:
# echo "/mnt/swapfile none swap sw 0 0" >> /etc/fstabY comprobamos si la configuración en el fichero fstab funciona correctamente:
# swapon -a && cat /proc/swapsDespués de reiniciar, estos comandos mostrarán si el fichero de swap se montó correctamente.
# dmesg | grep -i swapó
# cat /proc/swapsPUEDE 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 swaponTRADUCIDO DE:
Swapping on a File in Linux
No hay comentarios:
Publicar un comentario