Remove ads
De Wikipedia, la enciclopedia libre
En informática, el espacio de intercambio (también conocido como archivo de paginación o memoria virtual) es una zona del disco (un fichero o partición) que se usa para guardar las imágenes de los procesos que no han de mantenerse en memoria física. A este espacio se le suele llamar swap, del inglés intercambiar.
En lugar de utilizar espacio en la memoria RAM, el swap utiliza el disco duro para almacenar datos temporales, así se reduce el uso de la RAM. El uso combinado de memoria RAM y swap crean una memoria virtual de mayor capacidad a la que trae el ordenador por defecto.[1][2]
La mayoría de los sistemas operativos modernos poseen un mecanismo llamado memoria virtual, que permite hacer creer a los programas o sistemas operativos que tienen más memoria que la disponible realmente. Como en realidad no se tiene físicamente toda esa memoria, algunos procesos no podrán ser ubicados en la memoria RAM.
En este caso es cuando es útil el espacio de intercambio: el sistema operativo puede buscar un proceso poco activo y moverlo al área de intercambio (el disco duro) y, de esa forma liberar la memoria principal para cargar otros procesos. Mientras no haga falta, el proceso extraído de memoria puede quedarse en el disco, ya que ahí no utiliza memoria física. Cuando sea necesario, el sistema vuelve a hacer un intercambio, pasándolo del disco a la memoria RAM. Es un proceso lento (comparado con usar solo la memoria RAM), pero permite dar la impresión de que hay más memoria disponible.[1]
Se aconseja la siguiente cantidad de memoria swap:
Se considera que la partición swap es necesaria en Linux. En la distribución Ubuntu, los desarrolladores decidieron eliminar la necesidad de utilizar la memoria swap, reemplazándola por un archivo llamado swapfile a partir de la distribución 17.04[4][5]
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 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).[6]
Para comprobar el estado del swap, en Linux se utiliza la siguiente orden:
swapon -s
O bien:
free -h
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, sin embargo, es posible utilizar cualquier tipo de partición como swap.[6]
Para configurar un área swap Linux, se utiliza la orden mkswap. Por ejemplo:
sudo mkswap /dev/sda2
La utilidad mkswap genera un UUID de la partición por defecto, utilice la etiqueta -U en el caso de que quiera especificar una UUID personalizada:
sudo mkswap -U custom_UUID /dev/sda2
Para activar el dispositivo para la paginación:
sudo swapon /dev/sda2
Para activar esta partición swap en el arranque, ejecute el siguiente comando para añadir la entrada al archivo fstab:
sudo echo "/dev/sda2 none swap defaults 0 0" >> /etc/fstab
systemd activa particiones de intercambio basándose en dos mecanismos diferentes, ambos ejecutables en /usr/lib/systemd/system-generators. Los generadores se ejecutan durante la puesta en marcha del sistema y crean unidades nativas de systemd para los montajes. El primero, ic|systemd-fstab-generator, lee el archivo fstab para generar unidades, incluyendo una unidad para swap. El segundo, systemd-gpt-auto-generator inspecciona el disco raíz para generar unidades. Funciona con discos GPT solamente.
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).[6]
Como root, utilice fallocate para crear un archivo swap del tamaño de su elección (dd también se puede utilizar, pero se necesitará más tiempo). Por ejemplo, para crear un archivo swap de 512 MB, escriba :
sudo fallocate -l 512M /swapfile
o
sudo 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)
sudo chmod 600 /swapfile
Después de crear el tamaño correcto del archivo, dé formato a swap:
sudo mkswap /swapfile
Active el archivo swap:
sudo swapon /swapfile
Para activar este archivo swap en el arranque, ejecute el siguiente comando para añadir la entrada al archivo fstab:
sudo echo "/swapfile none swap defaults 0 0" >> /etc/fstab
Para eliminar un archivo swap, dicho archivo debe estar desactivado previamente.
Como root:
sudo swapoff -a
Se debe eliminar el archivo de intercambio:
sudo rm -f /swapfile
Instale el paquete "dphys-swapfile" y luego ejecute los siguiente comandos en la terminal para activarlo:
sudo dphys-swapfile setup
sudo dphys-swapfile swapon
Gracias a la modularidad que ofrece Linux, se pueden 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:
Los valores de swap se pueden ajustar para mejorar el rendimiento.[6][2]
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; por defecto se usa 60. Si se establece un valor bajo, reducirá el intercambio desde RAM y, se sabe que mejora la capacidad de respuesta en muchos sistemas. Cuanto mayor sea el valor de swappiness, el kernel utilizará swap de manera más agresiva. Por lo tanto, se recomienda utilizar un valor bajo que reduzca el intercambio desde RAM y mejore la capacidad de respuesta del sistema.
Para comprobar el valor actual de swappiness:
sudo cat /proc/sys/vm/swappiness
Para ajustar temporalmente el valor swappiness:
sudo sysctl vm.swappiness=10
Para establecer de manera permanente el valor swappiness, editar un archivo de configuración sysctl:
/etc/sysctl.d/99-sysctl.conf|2= vm.swappiness=10
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 1=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:
sudo 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án de forma round-robin entre ellas.
Cuando Windows usa toda la memoria RAM disponible, empieza a utilizar la memoria virtual para tener más recursos de forma temporal. Windows administra de manera automática el tamaño de ese archivo. En Windows 10, para modificar el tamaño de la memoria virtual se utiliza configuración avanzada del sistema en el panel de control.[7]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.