Pregunta: Me gustaría agregar más espacio de intercambio (swap) a mi sistema Linux. ¿Puedes explicar con ejemplos claros sobre cómo aumentar el espacio de swap?
Respuesta: Puedes usar una partición de disco duro dedicada para agregar nuevo espacio de swap o crear un archivo de swap en un sistema de archivos existente y usarlo como espacio de intercambio.
¿Cuánto espacio de swap utiliza actualmente el sistema?
El comando free muestra el espacio de swap. free -k muestra la salida en KB.
1 2 3 4 5 |
# free -k total used free shared buffers cached Mem: 3082356 2043700 1038656 0 50976 1646268 -/+ buffers/cache: 346456 2735900 Swap: 4192956 0 4192956 |
El comando Swapon con la opción -s muestra el espacio de swap actual en KB.
1 2 3 |
# swapon -s Filename Type Size Used Priority /dev/sda2 partition 4192956 0 -1 |
Swapon -s, es lo mismo que lo siguiente.
1 2 3 |
# cat /proc/swaps Filename Type Size Used Priority /dev/sda2 partition 4192956 0 -1 |
Método 1: Utilizar una partición del disco duro para espacio de swap adicional
Si tienes un disco duro adicional (o espacio disponible en un disco existente), puedes creear una partición usando el comando fdisk. Supongamos que esta partición se llama /dev/sdc1
Ahora debes configurar esta partición recién creada como área de swap utilizando el comando mkswap como se muestra a continuación.
1 |
# mkswap /dev/sdc1 |
Ahora habilita la partición de swap para usar usando el comando swapon como se muestra a continuación.
1 |
# swapon /dev/sdc1 |
Para que esta partición de espacio de intercambio esté disponible incluso después del reinicio, agrega la siguiente línea al archivo /etc/fstab.
1 2 |
# cat /etc/fstab /dev/sdc1 swap swap defaults 0 0 |
Tienes que verificar si el área de swap recién creada está disponible para su uso.
1 2 3 4 5 6 7 8 9 10 |
# swapon -s Filename Type Size Used Priority /dev/sda2 partition 4192956 0 -1 /dev/sdc1 partition 1048568 0 -2 # free -k total used free shared buffers cached Mem: 3082356 3022364 59992 0 52056 2646472 -/+ buffers/cache: 323836 2758520 Swap: 5241524 0 5241524 |
Nota: En la salida del comando swapon -s, la columna Type dirá “partition” si el espacio de swap se crea desde una partición de disco.
Método 2: Usar un archivo para espacio de swap adicional
Si no tienes ningún disco adicional, puedes crear un archivo en algún lugar de tu sistema de archivos y usar ese archivo como espacio de intercambio.
El siguiente ejemplo de comando dd crea un archivo de swap con el nombre “myswapfile” en el directorio /root con un tamaño de 1024 MB (1 GB).
1 2 3 4 5 6 |
# dd if=/dev/zero of=/root/myswapfile bs=1M count=1024 1024+0 records in 1024+0 records out # ls -l /root/myswapfile -rw-r--r-- 1 root root 1073741824 Aug 14 23:47 /root/myswapfile |
Debes cambiar el permiso del archivo de swap para que solo root pueda acceder a él.
1 |
# chmod 600 /root/myswapfile |
Convierte este archivo como un archivo de swap utilizando el comando mkswap.
1 2 |
# mkswap /root/myswapfile Setting up swapspace version 1, size = 1073737 kB |
Tienes que habilitar el archivo de swap recién creado.
1 |
# swapon /root/myswapfile |
Para que este archivo de swap esté disponible como área de intercambio incluso después del reinicio, agrega la siguiente línea al archivo /etc/fstab.
1 2 |
# cat /etc/fstab /root/myswapfile swap swap defaults 0 0 |
Verifica si el área de swap recién creada está disponible para su uso.
1 2 3 4 5 6 7 8 9 10 |
# swapon -s Filename Type Size Used Priority /dev/sda2 partition 4192956 0 -1 /root/myswapfile file 1048568 0 -2 # free -k total used free shared buffers cached Mem: 3082356 3022364 59992 0 52056 2646472 -/+ buffers/cache: 323836 2758520 Swap: 5241524 0 5241524 |
Nota: En la salida del comando swapon -s, la columna Type dirá “file” si el espacio de swap se crea a partir de un archivo de swap.
Si no deseas reiniciar para verificar si el sistema ocupa todo el espacio de swap mencionado en /etc/fstab, puedes hacer lo siguiente, que deshabilitará y habilitará toda la partición de swap mencionada en /etc/fstab.
1 2 3 |
# swapoff -a # swapon -a |