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 CentOS en una máquina virtual, no hay una partición de intercambio, por lo que la única opción es crear un archivo de intercambio.
Este artículo describe los pasos para agregar un archivo de intercambio en sistemas CentOS 8.
Si desea continuar en un servidor remoto, siga leyendo; de lo contrario, omita el primer párrafo "Conexión 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
Crear y activar un archivo de intercambio
Realice los siguientes pasos como usuario root o usuario con privilegios sudo para agregar espacio de intercambio en un sistema CentOS 8.
Comience creando un archivo que actuará como espacio de intercambio:
sudo fallocate -l 1G /swapfile
En este ejemplo, estamos creando un archivo de intercambio con un tamaño de 1G. Si necesita más intercambio, reemplace 1G
con el tamaño deseado.
Si la fallocate
no está disponible en su sistema o recibe un mensaje de error como este fallocate failed: Operation not supported
, use el dd
para crear el archivo de intercambio:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
Configure los permisos del archivo para que solo el usuario root pueda leer y escribir el archivo de intercambio:
sudo chmod 600 /swapfile
A continuación, configure un área de intercambio de Linux en el archivo:
sudo mkswap /swapfile
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=0abdb8ba-57d6-4435-8fd8-5db9fc705045
Active el intercambio ejecutando el siguiente comando:
sudo swapon /swapfile
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 1024M 507.4M -1
sudo free -h
total used free shared buff/cache available
Mem: 488M 158M 83M 2.3M 246M 217M
Swap: 1.0G 506M 517M
Haga que el cambio sea permanente agregando una entrada de intercambio en el /etc/fstab
:
sudo nano /etc/fstab
Pega la siguiente línea:
/swapfile swap swap defaults 0 0
Ajuste del 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. El intercambio puede tener un valor entre 0 y 100. Un valor bajo hará que el núcleo intente evitar el intercambio siempre que sea posible, mientras que un valor más alto hará que el núcleo utilice el espacio de intercambio de forma más agresiva.
El valor de intercambio predeterminado en CentOS 8 es 30. Puede verificar el valor de intercambio actual escribiendo el siguiente comando:
cat /proc/sys/vm/swappiness
30
Si bien el valor de intercambio de 30 es correcto para equipos de escritorio y de desarrollo, para servidores de producción, es posible que deba establecer un valor más bajo.
Por ejemplo, para establecer el valor de intercambio en 10, escriba:
sudo sysctl vm.swappiness=10
Para conservar este parámetro después de reiniciar, abra el siguiente archivo:
sudo vi /etc/sysctl.conf
Agregue la siguiente línea:
vm.swappiness=10
Guarde y cierre el archivo.
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 desactivar y eliminar el archivo de intercambio, siga estos pasos, desactive el espacio de intercambio escribiendo:
sudo swapoff -v /swapfile
Abra el /etc/fstab
:
sudo vi /etc/fstab
Elimine la siguiente /swapfile swap swap defaults 0 0
:
/swapfile swap swap defaults 0 0
Elimine el archivo de intercambio real con el comando rm:
sudo rm /swapfile
Conclusión
Le hemos mostrado cómo crear un archivo de intercambio y activar y configurar el espacio de intercambio en su sistema CentOS 8.