Introducción
Swap es un espacio en un disco que se usa cuando la cantidad de RAM física está llena. Cuando un sistema Linux se queda sin RAM, las páginas inactivas se mueven de la RAM al espacio de intercambio.
El espacio de intercambio puede tomar la forma de una partición de intercambio dedicada o un archivo de intercambio. Normalmente, cuando se ejecuta Ubuntu en una máquina virtual, no hay una partición de intercambio y la única opción es crear un archivo de intercambio.
Este tutorial explica cómo agregar un archivo de intercambio en los sistemas Ubuntu 20.04 LTS Focal Fossa.
Si desea configurar un espacio de intercambio en un servidor remoto, continúe leyendo, de lo contrario omita el primer párrafo "Conectando al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:
ssh nome_utente@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Antes de empezar
El intercambio no debe verse como un reemplazo de la memoria física. Dado que el espacio de intercambio es una sección del disco duro, tiene un tiempo de acceso más lento que la memoria física. Si su sistema se está quedando sin memoria constantemente, debe agregar más RAM.
En general, el tamaño del archivo de intercambio depende de la cantidad de RAM en el sistema:
- Sistemas con menos de 2 GB de RAM: el doble de RAM.
- Sistemas con 2 a 8 GB de RAM: el mismo tamaño que la cantidad de RAM.
- Sistemas con más de 8 GB de RAM: al menos 4 GB de intercambio.
Solo el root o el usuario con privilegios de sudo pueden activar el archivo de intercambio.
Crea un archivo de intercambio
En este ejemplo, crearemos el archivo de intercambio de 2 GB
Si desea agregar más intercambio, reemplace 2G
con el tamaño del espacio de intercambio requerido.
Complete los pasos a continuación para agregar espacio de intercambio en Ubuntu 20.04 LTS.
Primero, cree un archivo que se usará como intercambio:
sudo fallocate -l 2G /swapfile
Si la fallocate
no está presente en el sistema o fallocate failed: Operation not supported
, use el siguiente comando para crear el archivo de intercambio:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=2097152
Establezca los permisos de 600
para evitar que los usuarios habituales escriban y lean el archivo:
sudo chmod 600 /swapfile
Cree un área de intercambio de Linux en el archivo:
sudo mkswap /swapfile
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=6c73ed46-4ea7-455f-a317-26aad5895882
Active el archivo de intercambio ejecutando el siguiente comando:
sudo swapon /swapfile
Para que el cambio sea permanente, abra el /etc/fstab
:
sudo nano /etc/fstab
Pega la siguiente línea:
/swapfile swap swap defaults 0 0
Verifique que el intercambio esté activo usando el swapon
o el free
, como se muestra a continuación:
sudo swapon --show
NAME TYPE SIZE USED PRIO
/swapfile file 2G 0B -2
sudo free -h
total used free shared buff/cache available
Mem: 1.9Gi 241Mi 75Mi 6.0Mi 1.6Gi 1.5Gi
Swap: 2.0Gi 0B 2.0Gi
Ajustar el valor de Swapiness
Swappiness es una propiedad del kernel de Linux que define la frecuencia con la que el sistema utilizará el espacio de intercambio. Puede tener un valor entre 0
y 100
. Un valor bajo hará que el kernel intente evitar el intercambio siempre que sea posible, mientras que un valor más alto hará que el kernel utilice el espacio de intercambio de manera más agresiva.
En Ubuntu, el valor de intercambio predeterminado se establece en 60
. Puede verificar el valor actual escribiendo el siguiente comando:
cat /proc/sys/vm/swappiness
60
Si bien el valor de intercambio de 60
es correcto para la mayoría de los sistemas Linux, para los servidores de producción, puede ser necesario establecer un valor más bajo.
Por ejemplo, para establecer el valor de intercambio en 10
, ejecute:
sudo sysctl vm.swappiness=10
Para conservar este parámetro después de reiniciar el servidor, agregue la siguiente línea al archivo /etc/sysctl.conf
El valor de intercambio óptimo depende de la carga de trabajo del sistema y de cómo se utiliza la memoria. Es necesario ajustar este parámetro en pequeños incrementos para encontrar un valor óptimo.
Eliminar un archivo de intercambio
Para deshabilitar y eliminar el archivo de intercambio, siga estos pasos:
Primero, deshabilite el espacio de intercambio:
sudo swapoff -v /swapfile
Luego, elimine la entrada del archivo de intercambio /swapfile swap swap defaults 0 0
del /etc/fstab
.
Finalmente, elimine el archivo de intercambio real usando el comando rm
sudo rm /swapfile
Conclusión
Le mostramos cómo crear un archivo de intercambio y activar y configurar el espacio de intercambio en su sistema Ubuntu 20.04 LTS Focal Fossa.