Este tutorial se centra en cómo crear espacio de intercambio en Ubuntu 20.04 utilizando una partición de intercambio o un archivo de intercambio.
Para los administradores de sistemas, es bastante común que los servidores se queden sin RAM.
En algunos casos, es posible que haya lanzado demasiados programas o que algunos de los programas ya estén utilizando demasiados recursos.
En este caso, no tiene muchas opciones.
Puede detener algunos procesos con el fin de ganar algo de memoria RAM, pero es posible que no pueda hacer eso.
Por suerte, tiene otra solución : añadir algo de espacio de intercambio.
En este tutorial, aprenderá cómo puede añadir espacio de intercambio en Ubuntu 20.04 : a través de una partición de intercambio o un archivo de intercambio.
Tabla de contenidos
- Requisitos previos
- Comprobar las particiones swap existentes
- Añadir espacio de intercambio en Ubuntu 20.04 utilizando una partición de intercambio
- a – Crear partición Swap en un dispositivo LVM
- b – Crear Partición Swap en una partición regular
- c – Habilitando su partición swap
- d – Haz tu espacio swap permanente
- Añadir espacio de intercambio en Ubuntu 20.04 usando un archivo de intercambio
- a – Crear un archivo de intercambio usando dd
- b – Asegure su swapfile con permisos
- c – Habilita tu archivo de intercambio
- d – Haz tu archivo de intercambio permanente
- Solución de problemas
Requisitos previos
Antes de empezar, asegúrese de que tiene privilegios de sudo en Ubuntu 20.04.
$ groups
Si ve los grupos «sudo» en la lista de grupos, debería poder crear una partición swap.
Comprobar las particiones swap existentes
Para comprobar las particiones swap existentes en su sistema, tiene que utilizar el comando «swapon».
$ sudo swapon --show
Por defecto, durante su instalación de Ubuntu, es muy común que ya se haya creado una partición de intercambio.
Como consecuencia, debería ver la siguiente salida en su consola.
Como puede ver, tengo una partición de intercambio llamada «dm-1» de tamaño 980 Mb.
Sin embargo, mi memoria RAM actual es suficiente para mi servidor, por lo que no se utiliza en absoluto.
Si no hay espacios de intercambio configurados en su servidor, debería ver la siguiente salida.
Añadir espacio de intercambio en Ubuntu 20.04 utilizando una partición de intercambio
La primera forma de añadir espacio de intercambio en Ubuntu es añadir una partición de intercambio.
Para añadir esta partición, vamos a utilizar :
- el comando «lvcreate» si estás en un dispositivo LVM (es decir, una partición de disco formateada como LVM)
- el comando «fdisk» si estás en un disco «normal».
a – Crear partición Swap en un dispositivo LVM
En primer lugar, necesitas inspeccionar las particiones existentes en tu host.
$ sudo fdisk -l
Como puedes ver aquí, ya poseo tres particiones :
- /dev/sda1 : mi partición de arranque ya que estoy tratando con un disco MBR aquí;
- /dev/sda2 : una partición extendida de tamaño 14,5 GBs;
- /dev/sda5 : mi partición primaria LVM.
Sabiendo esto, puedes crear una partición swap en la partición extendida o en tu partición primaria LVM.
En este caso, elegimos crear esta partición en la LVM.
Como consecuencia, tendremos que comprobar que tenemos algo de espacio para ella.
Como recordatorio, /dev/sda5 es una partición de disco, también llamada volumen físico, vinculada a un grupo de volúmenes.
Para comprobar si tenemos algo de espacio restante, tenemos que utilizar el comando «vgs».
Si no estás familiarizado con LVM, te recomiendo que leas primero nuestro artículo dedicado al tema.
$ sudo vgs
En este caso, tenemos unos 980 Mb de espacio restante que deberían ser suficientes para nuestra partición de intercambio.
Para crear un nuevo volumen lógico en este grupo de volúmenes, vamos a utilizar el comando «lvcreate».
$ sudo lvcreate -L 500M -n lvswap vgubuntu
Nota : es posible que se le pida que elimine una firma de intercambio en un determinado volumen lógico. Puede pulsar «y», se le pide esta información porque había una partición existente con el mismo nombre antes.
Puede verificar que su volumen lógico fue creado correctamente usando el comando «lvs».
$ sudo lvs
b – Crear Partición Swap en una partición regular
Puede omitir esta sección e ir a la siguiente si ya creó su partición en un dispositivo LVM.
Si estás tratando con una partición «regular» de Linux, tendrás que usar el comando fdisk.
En nuestro caso, nuestra partición «regular» (tipo Linux) se llama «/dev/sda2».
$ sudo fdisk /dev/sdaWelcome to fdisk (util-linux 2.34).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Command (m for help): n
Para crear una nueva partición, tienes que usar la opción «n».
Command (m for help): nPartition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions)Select (default p) :
Puedes elegir crear una partición «primaria». Si tiene más de cuatro particiones primarias, entonces puede crear una lógica.
Select (default p) : pPartition number (2-4, default 2):
Puede dejar los valores predeterminados en este caso.
En el siguiente aviso, se le pide que especifique el primer sector, también puede dejarlo en los valores predeterminados.
All space for primary partitions is in useAdding logical partition 5First sector (48291898-65062911, default 48291840):
Por último, se le pide que especifique el tamaño total de la partición a crear. En nuestro caso, vamos a elegir un espacio de intercambio de 1GB (o «+1G»).
Last sector, +/-sectors or +/-size{K,M,G,T,P} : +1GCreated a new partition 5 of type 'Linux' and of size 1 GiB.
Por defecto, su partición se creará con un tipo «Linux» por defecto.
Desea cambiar eso a un tipo de partición de intercambio.
Para lograrlo, escriba «t» para «type» y cámbielo por «82» (para swap)
Command (m for help): tPartition number (1,2,5, default 5): 1Hex code (type L to list all codes): 82
Pulse Enter, y asegúrese de que su tipo de partición fue cambiado correctamente.
Changed type of partition 'Linux' to 'Linux swap / Solaris'
No olvide escribir sus cambios en el disco usando el comando «w».
Command (m for help): wThe partition table has been alteredSyncing disks.
c – Habilitando su partición swap
Primero, asegúrese de ejecutar el mkswap para que las cabeceras swap estén correctamente configuradas para la partición.
# For a regular partition$ sudo mkswap /dev/sda5# For a LVM partition$ sudo mkswap /dev/vgubuntu/lvswap
Ahora que las cabeceras están configuradas, es tan sencillo como activar su espacio swap usando «swapon».
# For a regular partition$ sudo swapon /dev/sda5# For a LVM partition$ sudo swapon /dev/vgubuntu/lvswap
Ahora que su swap está activado, asegúrese de listar sus particiones swap de nuevo con la opción «-show».
$ sudo swapon --show
¡Impresionante, has creado con éxito una partición swap en Linux!
d – Haz tu espacio swap permanente
Como cualquier otra partición, necesitas hacer tus particiones permanentes.
Si usted fuera a reiniciar su servidor justo ahora, los cambios no serían persistentes.
En primer lugar, usted necesita obtener su UUID para la partición recién creada.
$ sudo blkid | grep "swap"
Copie el valor del UUID y edite el archivo fstab para añadir los siguientes cambios.
$ sudo nano /etc/fstabUUID=<copied value> none swap defaults 0 0
Guarde su archivo, y reinicie su sistema para asegurarse de que sus cambios son permanentes.
$ sudo reboot$ sudo swapon --show
¡Asombroso, sus cambios son ahora permanentes!
Añadir espacio de intercambio en Ubuntu 20.04 usando un archivo de intercambio
Otra forma común de añadir espacio es crear un archivo dedicado a ello.
Muchos tutoriales no especifican este detalle, pero los archivos de intercambio no pueden contener ningún hueco.
Significa que no debe utilizar el comando cp en su host para crear un archivo de intercambio.
Para ello, va a utilizar el comando «dd» que se asegura de que no tiene ningún agujero en su archivo.
a – Crear un archivo de intercambio usando dd
Para añadir espacio de intercambio, ejecuta el siguiente comando
$ sudo dd if=/dev/zero of=swapfile bs=1MB count=$((1*2014))
En este caso, vas a crear un espacio de intercambio de 2Gb.
Asegúrese de que su archivo de intercambio se creó mediante la emisión del siguiente comando.
$ ls -l swapfile
b – Asegure su swapfile con permisos
Los archivos de intercambio están destinados a ser utilizados para fines de optimización de la memoria.
Como consecuencia, no deben ser editados o modificados de ninguna manera.
Como consecuencia, vamos a cambiar sus permisos.
$ sudo chmod 600 swapfile
En este caso, el archivo es de lectura-escritura sólo para la cuenta de root.
c – Habilita tu archivo de intercambio
Para habilitar tu archivo de intercambio, puedes utilizar el comando «mkswap» seguido del «swapon».
$ sudo mkswap swapfile$ sudo swapon swapfile
¡Increíble, has creado con éxito tu archivo de intercambio!
Lo último que tienes que hacer es hacerlo permanente usando fstab.
d – Haz tu archivo de intercambio permanente
Para hacer tu espacio de intercambio permanente, edita el archivo /etc/fstab y pega los siguientes cambios.
$ sudo nano fstab<path_to_file>/swapfile none swap defaults 0 0
Guarda tu archivo y reinicia para asegurarte de que el espacio de intercambio sigue montado.
$ sudo reboot$ sudo swapon --show
¡Ha añadido con éxito algo de espacio swap en su Ubuntu 20.04!
Solución de problemas
Al añadir espacio swap en Ubuntu 20.04, puede encontrarse con el siguiente error.
- swapon: /swapfile: read swap header failed.
Este error se produce cuando no se ejecuta el comando mkswap antes de ejecutar el comando swapon.
Como recordatorio, mkswap establece la cabecera del archivo o la partición que se utilizará como espacio de intercambio.
Si se olvida de ejecutar el comando mkswap, Linux no podrá asignarlo como espacio de intercambio en su host.
- Falló la búsqueda del volumen lógico «vg/lv»
Este error ocurre cuando se elimina un volumen lógico que se definió para ser cargado en su configuración initramfs.
Para solucionarlo, tiene dos opciones :
- Ejecute «update-initramfs -u»
- Asegúrese de que no hay volúmenes lógicos mencionados originalmente en el archivo «resume» de su initramfs.
Iconos hechos por Freepik de FlatIcon.