Como crear una Swap sin partición en Linux.
Normalmente la swap se localiza en una partición del disco duro (como puedes recordar en este articulo), pero como todos sabemos no siempre es posible alterar un sistema de particiones, más que nada por el riesgo que supone, y sobre todo si el sistema está en producción.
Por eso mismo lo que haremos sera crear un archivo swap para que haga la tarea en vez de una partición.
Lo primero que haremos es ver cuánto espacio tenemos disponible en nuestro disco, lo miramos… por ejemplo con el comando:
df
Ejemplo de resultado:
S.ficheros bloques de 1K Usados Disponibles Uso% Montado en devtmpfs 1464040 0 1464040 0% /dev tmpfs 1471496 17064 1454432 2% /dev/shm tmpfs 1471496 2208 1469288 1% /run tmpfs 1471496 0 1471496 0% /sys/fs/cgroup /dev/sda2 478519192 23277676 454252568 5% / tmpfs 294300 12 294288 1% /run/user/1000
Vemos que tenemos disponible de sobras. Antiguamente se aconsejaba que el tamaño de la swap fuera el doble de la memoria RAM instalada, pero con las ram que se montan hoy en día, a mi parecer esa regla ya no es aplicable, mejor a criterio de cada usuario según sus aplicaciones.
Una vez aclarado todo… comenzamos a crear una swap, lo haremos con «fallocate» que viene instalado en la gran mayoría de distribuciones linux.
Desde tu consola/ terminal (en el ejemplo creamos una swap de 4GB):
fallocate -l 4G /swapfile
Ya hemos creado un archivo de 4 gigas en la partición / llamado swapfile, sencillo ehh.
Si quieres ver las características del archivo, ejecuta:
ls -lh /swapfile
Ejemplo de salida:
-rw------- 1 root root 4,0G dic 18 17:33 /swapfile
Continuamos…
Una vez que tenemos el archivo creado procedemos a activarlo.
Primero le concedemos permisos:
chmod 600 /swapfile
Verificamos:
ls -lh /swapfile
Ejemplo:
-rw------- 1 root root 4,0G dic 18 17:34 /swapfile
Indicamos al sistema que configure el nuevo archivo swap:
mkswap /swapfile
Activamos:
swapon /swapfile
Verificamos que la swap ya está activa:
swapon -s
Ejemplo de salida:
Nombre del fichero Tipo Tamaño Utilizado Prioridad /swapfile file 4194300 0 -2
Como curiosidad… si ya tuvieseis una swap creada en alguna partición, la salida sería similar a esta…
Nombre del fichero Tipo Tamaño Utilizado Prioridad /dev/sda1 partition 2103292 0 -1 /swapfile file 4194300 0 -2
Bien, en estos momentos nuestra swap esta funcionando correctamente, pero… en modo temporal, por tanto en el momento que reiniciemos el sistema, desaparecerá nuestra swap.
Para crear una swap de manera permanente editamos el archivo /etc/fstab.
nano /etc/fstab
Al final del archivo agrega la siguiente linea:
/swapfile none swap sw 0 0
Guarda y cierra editor, ahora cuando se reinicie el sistema el archivo swapfile estara montado y activo como si fuera una swap.
Hola. Sergio. Una pregunta. Tengo opensuse leap 42.3. Cuando lo instale se creo una particion swap de dos gb. A veces se realentiza mucho y miro con el comando free y la swap esta casi llena. Podria aumentarla como tu explicas???.
Fantastico blog. Me encantan tus explicaciones.
Hola muchas gracias.
Respondiendo a tu consulta… si es compatible, es más sería recomendable si es que tienes un equipo un tanto antiguo.
Al crear la partición y reiniciar el sistema, se fusionaran. Te sorprenderá la mejora de rendimiento… mira un ejemplo con las mismas características que las que tu comentas, 2gb de swap y 4 en archivo swap.
Muy bueno, excelente explicación.
El rendimiento mejoro.
Funciona de muerteeee…
Gracias.
Hola, Genial! en Debian stretch, me a funcionado a la primera gracias.
Solo un apunte:
A partir del momento en que creé el swapfile, y hube eliminado la partición swap, se me creó un retraso en el arranque.
Un loop de unos quince o veinte segundos en los que intramfs se dedica a buscar el UUID=xxxxxxxxxxxxxxxxxxxx de la partición swap que acabamos de eliminar.
El loop es el siguiente .. :
Running /scripts/local-block
Running /scripts/local-block
Running /scripts/local-block
Running /scripts/local-block
y asi por un rato pero vaya que encontré la solución en estas dos webs. pensé que podía compartirlo.
https://www.linuxuprising.com/2018/08/how-to-use-swap-file-instead-of-swap.html
Saludos