GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo crear y usar un archivo de intercambio en Linux

Este tutorial analiza el concepto de archivo de intercambio en Linux, por qué se usa y sus ventajas sobre la partición de intercambio tradicional. Aprenderá cómo crear un archivo de intercambio o cambiar su tamaño.

¿Qué es un archivo de intercambio en Linux?

Un archivo de intercambio permite a Linux simular el espacio en disco como RAM. Cuando su sistema comienza a quedarse sin RAM, utiliza el espacio de intercambio e intercambia parte del contenido de la RAM en el espacio del disco. Esto libera la memoria RAM para atender procesos más importantes. Cuando la RAM vuelve a estar libre, vuelve a intercambiar los datos del disco. Recomiendo leer este artículo para obtener más información sobre el intercambio en Linux.

Tradicionalmente, el espacio de intercambio se usa como una partición separada en el disco. Cuando instala Linux, crea una partición separada solo para el intercambio. Pero esta tendencia ha cambiado en los últimos años.

Con el archivo de intercambio, ya no necesita una partición separada. Usted crea un archivo bajo la raíz y le dice a su sistema que lo use como espacio de intercambio.

Con una partición de intercambio dedicada, cambiar el tamaño del espacio de intercambio es una pesadilla y una tarea imposible en muchos casos. Pero con los archivos de intercambio, puede cambiar su tamaño como desee.

Las versiones recientes de Ubuntu y algunas otras distribuciones de Linux han comenzado a usar el archivo de intercambio de forma predeterminada. Incluso si no crea una partición de intercambio, Ubuntu crea un archivo de intercambio de alrededor de 1 GB por sí solo.

Veamos un poco más sobre los archivos de intercambio.

Comprobar el espacio de intercambio en Linux

Antes de ir y comenzar a agregar espacio de intercambio, sería una buena idea verificar si ya tiene espacio de intercambio disponible en su sistema.

Puedes comprobarlo con el comando gratuito en Linux. En mi caso, mi Dell XPS tiene 14GB de swap.

free -h
              total        used        free      shared  buff/cache   available
Mem:           7.5G        4.1G        267M        971M        3.1G        2.2G
Swap:           14G          0B         14G

El comando gratuito le da el tamaño del espacio de intercambio pero no le dice si es una partición de intercambio real o un archivo de intercambio. El comando swapon es mejor en este sentido.

swapon --show
NAME           TYPE       SIZE USED PRIO
/dev/nvme0n1p4 partition 14.9G   0B   -2

Como puede ver, tengo 14,9 GB de espacio de intercambio y está en una partición separada. Si fuera un archivo de intercambio, el tipo habría sido archivo en lugar de partición.

swapon --show
NAME      TYPE SIZE USED PRIO
/swapfile file   2G   0B   -2

Si no tiene un espacio de intercambio en su sistema, debería mostrar algo como esto:

free -h
              total        used        free      shared  buff/cache   available
Mem:           7.5G        4.1G        267M        971M        3.1G        2.2G
Swap:           0B          0B         0B

El comando swapon no mostrará ningún resultado.

Crear archivo de intercambio en Linux

Si su sistema no tiene espacio de intercambio o si cree que el espacio de intercambio no es lo suficientemente adecuado, puede crear un archivo de intercambio en Linux. También puede crear varios archivos de intercambio.

Veamos cómo crear un archivo de intercambio en Linux. Estoy usando Ubuntu 18.04 en este tutorial, pero también debería funcionar en otras distribuciones de Linux.

Paso 1:Cree un nuevo archivo de intercambio

Lo primero es lo primero, cree un archivo con el tamaño de espacio de intercambio que desee. Digamos que quiero agregar 1 GB de espacio de intercambio a mi sistema. Use el comando fallacate para crear un archivo de 1 GB de tamaño.

sudo fallocate -l 1G /swapfile

Se recomienda permitir que solo la raíz lea y escriba en el archivo de intercambio. Incluso verá una advertencia como "permisos inseguros 0644, 0600 sugeridos" cuando intente usar este archivo para el área de intercambio.

sudo chmod 600 /swapfile

Tenga en cuenta que el nombre del archivo de intercambio podría ser cualquier cosa. Si necesita varios espacios de intercambio, puede darle cualquier nombre apropiado como swap_file_1, swap_file_2, etc. Es solo un archivo con un tamaño predefinido.

Paso 2:Marque el nuevo archivo como espacio de intercambio

Debe decirle al sistema Linux que este archivo se usará como espacio de intercambio. Puede hacerlo con la herramienta mkswap.

sudo mkswap /swapfile

Debería ver una salida como esta:

Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=7e1faacb-ea93-4c49-a53d-fb40f3ce016a

Paso 3:habilite el archivo de intercambio

Ahora su sistema sabe que el archivo de intercambio de archivos se puede usar como espacio de intercambio. Pero aún no está hecho. Debe habilitar el archivo de intercambio para que su sistema pueda comenzar a usar este archivo como intercambio.

sudo swapon /swapfile

Ahora, si revisa el espacio de intercambio, debería ver que su sistema Linux lo reconoce y lo usa como área de intercambio:

swapon --show
NAME       TYPE   SIZE USED PRIO
/swapfile  file 1024M   0B   -2

Paso 4:Haz que los cambios sean permanentes

Todo lo que has hecho hasta ahora es temporal. Reinicie su sistema y todos los cambios desaparecerán.

Puede hacer que los cambios sean permanentes agregando el archivo de intercambio recién creado al archivo /etc/fstab.

Siempre es una buena idea hacer una copia de seguridad antes de realizar cambios en el archivo /etc/fstab.

sudo cp /etc/fstab /etc/fstab.back

Ahora puede agregar la siguiente línea al final del archivo /etc/fstab:

/swapfile none swap sw 0 0

Puede hacerlo manualmente usando un editor de texto de línea de comando o simplemente use el siguiente comando:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Ahora tienes todo en su lugar. Su archivo de intercambio se utilizará incluso después de reiniciar su sistema Linux.

Ajustar el intercambio

Los parámetros de swappiness determinan con qué frecuencia se debe usar el espacio de intercambio. El valor de swappiness va de 0 a 100. Un valor más alto significa que el espacio de intercambio se usará con más frecuencia.

La capacidad de intercambio predeterminada en el escritorio de Ubuntu es 60, mientras que en el servidor es 1. Puede verificar la capacidad de intercambio con el siguiente comando:

cat /proc/sys/vm/swappiness

¿Por qué los servidores deberían usar un intercambio bajo? Debido a que el intercambio es más lento que la RAM y para un mejor rendimiento, la RAM debe utilizarse tanto como sea posible. En los servidores, el factor de rendimiento es crucial y, por lo tanto, el swappinness es lo más bajo posible.

Puede cambiar la capacidad de intercambio sobre la marcha con el siguiente comando systemd:

sudo sysctl vm.swappiness=25

Sin embargo, este cambio solo es temporal. Si desea que sea permanente, puede editar el archivo /etc/sysctl.conf y agregar el valor de swappiness al final del archivo:

vm.swappiness=25

Cambiar el tamaño del espacio de intercambio en Linux

Hay un par de formas de cambiar el tamaño del espacio de intercambio en Linux. Pero antes de ver eso, debe aprender algunas cosas al respecto.

Cuando le pide a su sistema que deje de usar un archivo de intercambio para el área de intercambio, transfiere todos los datos (páginas para ser precisos) a la RAM. Por lo tanto, debe tener suficiente RAM libre antes de cambiar.

Es por eso que una buena práctica es crear y habilitar otro archivo de intercambio temporal. De esta manera, cuando cambie el área de intercambio original, su sistema utilizará el archivo de intercambio temporal. Ahora puede cambiar el tamaño del espacio de intercambio original. Puede eliminar manualmente el archivo de intercambio temporal o dejarlo como está y se eliminará automáticamente en el próximo arranque.

Si tiene suficiente RAM libre o si creó un espacio de intercambio temporal, cambie su archivo original.

sudo swapoff /swapfile

Ahora puede usar el comando fallacate para cambiar el tamaño del archivo. Digamos que lo cambia a 2 GB de tamaño:

sudo fallocate -l 2G /swapfile

Ahora marque el archivo como espacio de intercambio nuevamente:

sudo mkswap /swapfile

Y vuelve a activar el intercambio:

sudo swapon /swapfile

También puede optar por tener varios archivos de intercambio al mismo tiempo.

Eliminar el archivo de intercambio en Linux

Puede tener sus razones para no usar el archivo de intercambio en Linux. Si desea eliminarlo, el proceso es similar al que acaba de ver al cambiar el tamaño del intercambio.

Primero, asegúrese de tener suficiente RAM libre. Ahora cambie el archivo:

sudo swapoff /swapfile

El siguiente paso es eliminar la entrada respectiva del archivo /etc/fstab.

Y al final, puede eliminar el archivo para liberar espacio:

sudo rm /swapfile

¿Intercambian?

Creo que ahora tiene una buena comprensión del concepto de archivo de intercambio en Linux. Ahora puede crear fácilmente un archivo de intercambio o cambiar su tamaño según sus necesidades.

Si tiene algo que agregar sobre este tema o si tiene alguna duda, deje un comentario a continuación.



Linux
  1. Cómo crear o aumentar el espacio de intercambio en Linux

  2. Cómo crear un intercambio en Linux

  3. Cómo crear un archivo de intercambio en Linux

  4. UNIX/Linux:Cómo usar Sticky Bit en directorios y archivos

  5. Cómo crear y montar sistemas de archivos en Linux

Archivo host de Linux:¿Cómo editarlo y usarlo?

Cómo instalar y usar PuTTY en Linux

Cómo instalar y usar phpMyAdmin en Linux

Cómo instalar y usar el comando fd en Linux

Cómo deshabilitar el intercambio en Linux

¿Cómo usar gzip en Linux?