Difference between revisions of "Swap (Español)"

From ArchWiki
Jump to: navigation, search
(Restauración desde un archivo swap)
m (Swappiness: configure file moved.)
Line 127: Line 127:
 
El parámetro ''swappiness'' de [[sysctl]] representa la preferencia del kernel (inhibiéndose) de utilización del espacio swap. Swappiness  puede tener un valor entre 0 y 100. Si se establece un valor bajo reducirá el intercambio desde RAM, y se sabe que mejora la capacidad de respuesta en muchos sistemas.
 
El parámetro ''swappiness'' de [[sysctl]] representa la preferencia del kernel (inhibiéndose) de utilización del espacio swap. Swappiness  puede tener un valor entre 0 y 100. Si se establece un valor bajo reducirá el intercambio desde RAM, y se sabe que mejora la capacidad de respuesta en muchos sistemas.
  
{{hc|/etc/sysctl.conf
+
{{hc|/etc/sysctl.d/90-swappiness.conf
 
|2=<nowiki>
 
|2=<nowiki>
 
vm.swappiness=1
 
vm.swappiness=1

Revision as of 13:24, 13 November 2013

Sumario help replacing me
Introducción al espacio de swap y de paginación en GNU/Linux. El artículo trata sobre la creación y activación de las particiones y archivos swap.
Relacionado
fstab (Español)

Definición de swap dada por el artículo «Todo sobre el espacio swap de Linux»:

Linux divide su memoria física RAM (memoria de acceso aleatorio) en capas de memoria llamadas páginas. El swapping es el proceso por el que una página de memoria se copia en un espacio del disco configurado previamente para ello, llamado espacio de swap (o de intercambio), para liberar esa memoria RAM. Los tamaños combinados de la memoria física y del espacio swap determinan la cantidad de memoria virtual disponible.

Espacio swap

El espacio swap o de intercambio será normalmente una partición del disco, pero también puede ser un archivo. Los usuarios pueden crear un espacio de intercambio durante la instalación de Arch Linux o en cualquier momento posterior, en caso de ser necesario. El espacio de intercambio es generalmente recomendado a los usuarios con menos de 1 GB de RAM, pero es una cuestión de preferencia personal en sistemas con cantidades generosas de memoria RAM física (aunque sí es necesario para utilizar la suspensión en disco).

Para comprobar el estado del swap, utilice la siguiente orden:

$ swapon -s

O bien:

$ free -m
Nota: No hay ventaja en el rendimiento entre un archivo swap contiguo o una partición, ambos son tratados de la misma manera.

Partición swap

Una partición swap se puede crear con la mayoría de las herramientas que gestionan las particiones en GNU/Linux (por ejemplo, fdisk, cfdisk). Las particiones swap son designadas como tipo 82.

Para configurar un área swap Linux, se utiliza la orden mkswap. Por ejemplo:

# mkswap /dev/sda2
Advertencia: Todos los datos en la partición especificada se perderán.

Para activar el dispositivo para la paginación:

# swapon /dev/sda2

Para habilitar esta partición swap en el arranque, añada la entrada siguiente al archivo fstab:

/dev/sda2 none swap defaults 0 0
Nota: Si se utiliza un disco SSD con apoyo TRIM, discard es una opción de montaje válida para swap. Si crea swap de forma manual, utilizando -d o --discard logrará lo mismo. Para obtener más información y otras opciones de montaje disponibles, consulte la página del manual de swapon.

Archivo swap

Como una alternativa a la creación de toda una partición, un archivo swap ofrece la posibilidad de variar su tamaño sobre la marcha, y es más fácil de eliminar por completo. Esto puede ser especialmente deseable si el espacio es un bien escaso (por ejemplo, un disco SSD con un tamaño modesto).

Nota: El sistema de archivos BTRFS no es compatible actualmente con archivos swap. La inobservancia de esta advertencia puede conducir a un sistema de archivos corrupto. Aunque debe tenerse en cuenta que se puede utilizar un archivo de intercambio formateado con btrfs si se monta a través de un dispositivo loop. Este método puede reducir el rendimiento de swap drásticamente.

Creación de un archivo swap

Como root, utilice fallocate para crear un archivo swap del tamaño de su elección (M = Megabytes, G = Gigabytes) (dd también se puede utilizar, pero se necesitará más tiempo). Por ejemplo, para crear un archivo swap de 512 MB, escriba :

# fallocate -l 512M /swapfile
O
# dd if=/dev/zero of=/swapfile bs=1M count=512

Establezca los permisos correctos (un archivo swap de lectura global es una enorme vulnerabilidad de seguridad)

# chmod 600 /swapfile

Después de crear el tamaño correcto del archivo, dé formato a swap:

# mkswap /swapfile

Active el archivo swap:

# swapon /swapfile

Edite /etc/fstab y añada esta entrada para el archivo swap:

/swapfile none swap defaults 0 0

Eliminación de un archivo swap

Advertencia: swap es manejado por systemd y tendrá que reactivarla cada cierto tiempo.

Para eliminar un archivo swap, dicho archivo debe estar desactivado previamente.

Como root:

# swapoff -a

Elimine el archivo de intercambio:

# rm -rf /swapfile

Swap en un dispositivo USB

Gracias a la modularidad que ofrece Linux, podemos tener múltiples particiones repartidas en diferentes dispositivos. Si se tiene un disco duro muy lleno, el dispositivo USB puede usarse como partición temporal. Pero este método tiene algunas desventajas graves:

  • El dispositivo USB es más lento que el disco duro.
  • Las memorias flash tienen limitados los ciclos de lectura. Su uso como partición swap acortará su vida útil.
  • Cuando hay otro dispositivo conectado al ordenador, no se puede utilizar swap.

Para añadir un dispositivo USB para usarlo como SWAP, en primer lugar conecte un flah USB y dele formato con una partición swap. Puede utilizar herramientas gráficas como Gparted o herramientas de consola como fdisk. Asegúrese de marcar la partición como SWAP antes de escribir la tabla de particiones.

¡Asegúrese de que está escribiendo la partición para el disco correcto!

A continuación edite el archivo /etc/fstab.

Ahora añada una nueva entrada, justo debajo de la entrada existente de swap, de modo que indique la nueva partición swap creada en el dispositivo USB, así:

UUID=... none swap defaults,pri=10 0 0

donde UUID se toma de la salida de la orden:

ls -l /dev/disk/by-uuid/ | grep /dev/sdc1

Basta con sustituir sdc1 por la nueva partición swap USB: sdb1

Es preferible UUID porque al conectar otros dispositivos al ordenador se podría modificar el orden de los dispositivos periféricos.

Por último, añada

pri=0

en la entrada swap originaria para indicarle que use el archivo swap del disco duro solo cuando la partición swap del USB está llena.

Esta guía se puede aplicar a otras memorias, como tarjetas SD, etc.

Optimizar el rendimiento

Los valores de swap se pueden ajustar para mejorar el rendimiento.

Swappiness

El parámetro swappiness de sysctl representa la preferencia del kernel (inhibiéndose) de utilización del espacio swap. Swappiness puede tener un valor entre 0 y 100. Si se establece un valor bajo reducirá el intercambio desde RAM, y se sabe que mejora la capacidad de respuesta en muchos sistemas.

/etc/sysctl.d/90-swappiness.conf
vm.swappiness=1
vm.vfs_cache_pressure=50

Prioridad

Si se tiene más de un archivo o partición swap debería considerar la posibilidad de asignarles un valor de prioridad (0 a 32767) para cada área swap. El sistema utilizará las áreas swap de mayor prioridad antes de utilizar las asignadas como de menor prioridad. Por ejemplo, si se tiene un disco más rápido (/dev/sda) y un disco más lento (/dev/sdb), asigne una mayor prioridad al área swap que se encuentra en el dispositivo más rápido. Las prioridades se pueden asignar en fstab a través del parámetro pri:

/dev/sda1 none swap defaults,pri=100 0 0
/dev/sdb2 none swap defaults,pri=10  0 0

O mediante los parámetros −p (o −−priority) de la orden swapon:

# swapon -p 100 /dev/sda1

Si dos o más áreas tienen la misma prioridad, y tienen asignada la más alta disponible, las páginas se distribuirá de forma round-robin entre ellas.