¿Cómo eliminar el espacio Swap de forma segura?

Actualizado el 6 de octubre, 2016. Por BlueHosting.

Muchos usuarios usan el espacio swap como método para aumentar la capacidad de respuesta en sus servidores y protegerlos contra errores de memoria insuficiente. Sin embargo, puede ocurrir que las particiones swap creadas no tienen el espacio adecuado y debe hacer ciertas modificaciones. Siga este tutorial para eliminar el espacio swap de forma segura o reducir su tamaño.

Si su intención es crear un espacio swap en su sistema Linux entonces visite el siguiente tutorial: ¿Cómo añadir Swap en Ubuntu y CentOS?.

Verifique la información de Swap en el sistema

Antes de comenzar, daremos un vistazo a nuestro sistema operativo para verificar la información de nuestro espacio swap. Podemos tener varios archivos o particiones swap, pero se recomienda —y es suficiente— tener solo una.

Podemos ver si el sistema tiene algún espacio swap activo ejecutando el siguiente comando:

sudo swapon -s

El resultado será similar a lo siguiente:

Filename           Type            Size    Used    Priority
/dev/vda2          partition       262140  81556   -1

Podrá ver entonces el nombre del archivo swap, el tamaño, el uso actual y la asignación de prioridad. Tome nota del Filename, necesitará esta información más adelante en esta guía.

Otra forma más común de comprobar si hay un espacio swap es la utilidad free, la cual muestra el uso de memoria del sistema. Podemos ver nuestra memoria actual y el uso del espacio swap en Megabytes ingresando el comando:

free -m

El resultado será similar a lo siguiente:

             total       used       free     shared    buffers     cached
Mem:           490        339        150          6          8        243
-/+ buffers/cache:         86        403
Swap:          255         79        176

Si considera que su espacio swap no es consistente con el desempeño del servidor y desea eliminarlo de forma segura (sí, debe seguir un método seguro o podría tener problemas luego), continúe con este tutorial.

Advertencia

Es importante diferenciar si su espacio swap viene dado por un archivo swap o por un espacio de volumen lógico LVM2 dentro de su disco duro. Estos volúmenes lógicos son identificados fácilmente ya que suelen tener la forma /dev/volumenlógico, tal como se muestra en el resultado sudo swapon -s. Para comprobar los volúmenes lógicos en su sistema utilice el comando fdisk -l. Obtendrá una salida similar a la siguiente:

...
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 30930559 15464256 83 Linux
/dev/vda2 30930560 31454847 262144 82 Linux swap / Solaris

Si en cambio su espacio swap es un archivo, podrá identificarlo ya que el filename no aparecerá en el resultado de fdisk -l. En este caso pase al último paso de este tutorial: Eliminar un archivo swap. Si desea cambiar el tamaño de su archivo swap, debe eliminarlo siguiendo estos pasos y crear uno nuevo (para hacerlo visite el tutorial referenciado al inicio de esta guía).

Nota: las siguientes secciones de este tutorial asumen que usted inició sesión como root en su servidor. De lo contrario, preceda los comandos con la utilidad sudo.

Reducir el espacio swap de un volumen lógico

Si después de analizar el comportamiento de su servidor decide que debe reducir el tamaño de su espacio swap siga estas instrucciones.

Estas instrucciones asumen que su archivo swap se encuentra en /dev/vda2, tal como se comprobó al inicio de este tutorial. Este valor dependerá exclusivamente de su servidor, por lo tanto, remplace todas las ocurrencias de /dev/vda2 con la ruta real de su volumen lógico.

  1. Para reducir un volumen lógico swap LVM2 el primer paso es deshabilitar la función swap asociada a dicho volumen:

    swapoff -v /dev/vda2
    
  2. Digamos que desea reducir el espacio swap a 128 MB, entonces debe ejecutar el siguiente comando:

    lvm lvreduce /dev/vda2 -L -128M
    
  3. Luego debe formatear el nuevo espacio swap:

    mkswap /dev/vda2
    
  4. Su archivo estará listo para ser usado como espacio swap. Ahora puedo habilitarlo usando el comando:

    swapon -v /dev/vda2
    

¡Esto es todo!, para comprobar si los cambios fueron exitosos por favor vuelva a ejecutar los pasos en la primera sección de este tutorial.

Eliminar el espacio swap

Eliminar espacio swap de un volumen lógico

Este procedimiento requiere que el volumen lógico no esté en uso. La manera más simple de lograr esto es iniciar su sistema en modo de recuperación. Cuando se le pregunte si desea montar la unidad, seleccione skip. La explicación detallada del método descrito no se aborda en este tutorial y tendrá que investigar más detalles según su distro de Linux por cuenta propia. Después de asegurarse de que el volumen no esté en uso, entonces siga los siguientes pasos.

  1. Desactive swap para el volumen lógico asociado:

    swapoff -v /dev/vda2
    
  2. Puede que sea necesario instalar la herramienta lvm en su sistema Ubuntu o Debian:

    apt-get install lvm2
    

    Centos, RHEL y Fedora vienen con esta herramienta por defecto, en caso de que no esté instalada ejecute:

    yum install lvm2
    
  3. Elimine el volumen lógico utilizando lvremove:

    lvm lvremove /dev/vda2
    
  4. Abra el archivo /etc/fstab con su editor de texto favorito, en este ejemplo usaremos vi:

    vi /etc/fstab
    
  5. Busque la siguiente línea y elimínela. Para hacerlo puede mover el cursor a dicha línea y presionar dd:

    /dev/vda2  none   swap   sw   0   0
    

    Para guardar y salir de vi presione :wq y luego presione Enter.

  6. Pruebe que los cambios surtieron efecto siguiendo los pasos en la primera sección del tutorial. También pueda utilizar:

    cat /proc/swaps
    

Eliminar un archivo swap

  1. Desactive su uso como swap usando el siguiente comando, donde se asume que /archivoswap es su archivo swap (recuerde remplazar con el nombre real de su archivo swap):

    swapoff -v /archivoswap
    
  2. Abra el archivo /etc/fstab con su editor de texto favorito, en este ejemplo usaremos vi:

    vi /etc/fstab
    
  3. Busque la siguiente línea y elimínela. Para hacerlo puede mover el cursor a dicha línea y presionar dd:

    /swapfile   none    swap    sw    0   0
    

    Guarde el archivo y salga de vi presionando :wq y luego Enter.

  4. Elimine el archivo usando rm:

    rm /swapfile
    

Siga la primera sección de la guía y compruebe que todo funcionó correctamente.

Recursos adicionales

Tal como fue reiterado a lo largo de nuestro tutorial, el espacio swap estará estrechamente relacionado con el uso de su servidor. Puede consultar los siguientes recursos en busca de información adicional con respecto a este tema. Aunque este material es provisto esperando que sea útil, tome en cuenta que no podemos dar fe de la actualidad o precisión de los contenidos externos.

  • Artículo que explica el concepto de swap en Linux (Linux Foundation).
  • Utilice la opción --help junto con los comandos usados en esta guía para obtener información útil sobre su uso.

¿QUÉ DESEAS SABER?

Intentaremos leer tu mente...