LINUX

Cómo crear un archivo de intercambio de Linux

crear archivo de intercambio

Una de las formas recomendadas de mejorar el rendimiento de su servidor y evitar quedarse sin memoria es creando un espacio de intercambio o un archivo de intercambio. Intercambio es una memoria virtual ubicada en su disco duro y extiende la RAM cuando la utilización de la memoria es alta.

Cuando su sistema se está quedando sin memoria principal, el kernel de Linux intercambia una parte de la memoria de la RAM y la escribe en el disco duro. De esta manera, se pone más RAM a disposición del sistema y los procesos se pueden ejecutar sin problemas.

En este tutorial, aprendemos cómo crear un archivo de intercambio en distribuciones de Linux como Ubuntu y CentOS.

Comprobar swap configurado

Habiendo analizado las ventajas de crear un archivo de intercambio, es importante confirmar primero si el intercambio está configurado en su sistema. Esto le ayudará a saber si debe configurar o no un archivo de intercambio.

Para comprobar si se ha creado el espacio de intercambio, ejecute el siguiente comando:

$  swapon

El comando mostrará el tamaño de la partición de intercambio y la etiqueta del sistema de archivos. Aquí hay algunos resultados del comando.

NAME      TYPE      SIZE   USED PRIO
/dev/sda9 partition 3.8G 383.3M   -2

Si ejecuta el comando y no obtiene ningún resultado, significa que no tiene configurada una partición de intercambio. Puede confirmar la ausencia de espacio de intercambio ejecutando el siguiente comando:

$ free -h

Esto muestra las estadísticas de la memoria principal y la utilización del intercambio.

              total        used        free      shared  buff/cache   available
Mem:           7.6G        5.6G        386M        1.1G        1.7G        675M
Swap:          0B          0B          0G

De la salida, podemos ver claramente que en la fila ‘swap’, no se imprime memoria. Esta es una confirmación de que no hay una partición de intercambio activa que resida en el sistema Linux. Creemos ahora un archivo de intercambio para el sistema.

Verifique el espacio en el disco duro

Como se mencionó anteriormente, el espacio de intercambio es una memoria virtual que reside en el disco duro y que proporciona una extensión a la RAM. Con eso en mente, crearemos un archivo de intercambio en el disco duro. Pero antes de hacerlo, siempre es prudente comprobar el espacio disponible en el disco duro.

Para verificar el espacio disponible en el disco duro en Linux, ejecute el siguiente comando:

$ df -h

En la salida, esté atento a la partición raíz indicada por una sola barra diagonal ( / ) bajo la ‘Montado en‘columna. En el resultado a continuación, la partición raíz está etiquetada como sistema de archivos / dev / sda7 y tiene 97G de espacio libre, que es más que suficiente.

Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           784M  2.3M  781M   1% /run
/dev/sda7       156G   54G   97G  39% /
tmpfs           3.9G  828M  3.1G  22% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda10       29G  5.9G   21G  22% /var
/dev/sda8       1.9G  124M  1.7G   7% /boot

Crea un archivo de intercambio

Habiendo determinado que tenemos suficiente espacio en nuestro sistema Linux, procederemos a crear un archivo de intercambio. Recuerde, el espacio de intercambio generalmente se crea durante la instalación. Si ya existe espacio de intercambio, entonces está listo para comenzar. Sin embargo, si no tiene espacio de intercambio, se recomienda crear un archivo de intercambio.

Con eso en mente, vamos a crear un archivo de intercambio de 1 GB. Para lograr esto, emita el Fallocate comando como se muestra:

$ sudo fallocate -l 1G /swap_file

No dude en dar al archivo de intercambio el nombre que desee. En este caso, lo hemos nombrado archivo de intercambio. Sin embargo, si la utilidad de fallocate no está presente, ejecute el siguiente comando:

$ sudo dd if=/dev/zero of=/swap_file bs=1024 count=1048576

A continuación, configure los permisos de archivo correctos para el archivo de intercambio, ya que solo la raíz tiene permisos de lectura y escritura:

$ sudo chmod 600  /swap_file

los chmod 600 El argumento asigna permisos de lectura y escritura solo al archivo de intercambio.

Configurar área de intercambio

Para configurar el área de intercambio, use el siguiente comando usando el mkswap utilidad como se muestra:

$ sudo mkswap  / swap_file

Para activar el archivo de intercambio, ejecute el siguiente comando:

$ sudo swapon /swap_file

Hacer que el intercambio sea persistente al reiniciar

El archivo de intercambio creado en el sistema Linux no es permanente y no sobrevivirá a un reinicio. Para que el archivo de intercambio sea persistente incluso después de un reinicio, necesitamos editar el / etc / fstab y agregue la entrada de intercambio recién creada.

Con su editor de texto preferido, abra el archivo / etc / fstab. Hemos utilizado el editor vim como se muestra:

$ sudo vim /etc/fstab 

A continuación, pega el siguiente contenido

/swap_file swap swap defaults 0 0

Guarde los cambios y salga del archivo / etc / fstab. Para confirmar que se ha creado el archivo de intercambio, ejecute el siguiente comando:

$ sudo swapon --show

Debería obtener un resultado similar al que tenemos

NAME       TYPE  SIZE   USED   PRIO
/swap_file file 1024M  346.4M   -2

Cambiar configuración

En este punto, hemos creado con éxito nuestro archivo de intercambio. Vamos a considerar una propiedad más del swap y ese es el valor de swap. Swappiness se refiere a una propiedad en el kernel de Linux que determina la frecuencia de uso de swap.

El valor de intercambio varía de 0 a 100. Un valor bajo implica que el sistema hará que el kernel evite intercambiar tanto como sea posible. Un valor más alto tiene el efecto contrario: hace que el kernel use swap con la mayor frecuencia posible.

De forma predeterminada, el valor de intercambio es 60. Puede confirmar esto ejecutando el comando:

cat /proc/sys/vm/swappiness

Si bien este valor puede parecer correcto, no es el preferido para servidores de producción. Para establecer un valor más bajo, digamos 20, ejecute el siguiente comando.

sudo sysctl vm.swappiness=20

Para que este valor permanezca persistente al reiniciar, agregue la siguiente línea al archivo /etc/sysctl.conf

vm.swappiness=20

Intercambiar archivos frente a intercambiar particiones

Linux viene con 2 tipos de espacio de intercambio, partición de intercambio y archivo de intercambio. Una partición de intercambio es una parte distinta del disco duro que se utiliza exclusivamente para el intercambio. No existen archivos aquí.

Por otro lado, un archivo de intercambio es un archivo único que se encuentra en el sistema de archivos junto con sus datos y archivos del sistema.

¿Realmente necesitas espacio de intercambio? ¿Cuánto cuesta?

La pregunta más común al instalar Linux es ‘¿Necesito crear swap?’. Como comentamos anteriormente, el espacio de intercambio está destinado a actuar como un búfer cuando la RAM se agota por una razón u otra. Cuando no hay más memoria para dar cabida a las aplicaciones, el sistema operativo elige un determinado proceso para eliminar. Esto comenzará a afectar el rendimiento del sistema.

Bueno, lo más probable es que nunca uses por completo toda esa RAM. Sin embargo, para estar seguro, vale la pena tener un poco de espacio de intercambio. Piense en el espacio de intercambio como un bote de seguridad en un yate. En el improbable caso de que el yate se incendie, puede usarlo para navegar a un lugar seguro.

Entonces, aquí viene la gran pregunta: ¿Cuánto espacio de intercambio necesito crear? Para ser sincero, no hay una respuesta directa a esta pregunta, solo recomendaciones. Sugerencia de RedHat, recomienda la creación de un espacio de intercambio que sea el 20% de la RAM física instalada en un sistema Linux. Sin embargo, esto puede diferir según el tamaño de la RAM y el sistema operativo.

Por ejemplo, CentOS recomienda lo siguiente:

  1. Si la RAM es inferior a 2 GB, el espacio de intercambio debería ser el doble del tamaño de la RAM.
  2. Si la RAM es de más de 2 GB, entonces espacio de intercambio = 2 + tamaño de RAM. Por ejemplo, si la RAM es de 4 GB, el espacio de intercambio debería ser de 6 GB.

Para Ubuntu, esto es ligeramente diferente

  1. Si la RAM es inferior a 1 GB, el espacio de intercambio debe ser igual o el doble del tamaño de la RAM.
  2. De lo contrario, si la RAM tiene más de 1 GB, el espacio de intercambio debe ser igual a la raíz cuadrada de la RAM.

En modo de hibernación, el espacio de intercambio es esencial por la misma razón que preserva el estado de la RAM al transferir el contenido ubicado en la RAM a la partición de intercambio. Como resultado, se recomienda que establezca el tamaño de intercambio para que sea igual al tamaño de la RAM. por lo tanto, si tiene una RAM de 8G, un archivo de intercambio de 8G sería suficiente.

Conclusión

No podemos enfatizar más la necesidad de tener espacio de intercambio en su sistema. Resulta útil cuando la memoria principal se está agotando y le ayuda a manejar aplicaciones pesadas como software de edición de video. No importa qué tan grande sea la capacidad de RAM en su sistema Linux, siempre se recomienda configurar el intercambio para cualquier evento imprevisto.

Esperamos que ahora pueda crear y habilitar cómodamente un archivo de intercambio en su sistema Linux. Sus comentarios sobre esta guía serán muy apreciados.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar