La Swap lista para crear y configurar en cualquier momento.
Veréis aveces ocurre cuando instalamos el sistema Linux confiamos en disponer de suficiente memoria Ram en mi caso unos 6 Gb que no esta nada mal, además estoy usando una distro ligera como MxLinux. Es conocido en el mundo Linux la tendencia a dejarle todo el trabajo a la Ram si disponemos de la suficiente, ya que se considera más rápida y la costumbre en este caso de no crear una partición de intercambio para que todo el sistema ande más fluido, pero en mi caso como edito videos todo el rato y virtualizo a menudo distros Linux mientras además uso aplicaciones para grabar el escritorio y demás al mismo tiempo, en ocasiones pues me veo que ando justo y tenía dos opciones, o crear la partición de intercambio o crear un archivo llamado Swapfile que sustituyera a la anterior ya que dispongo de espacio en la partición Root para ello.
He leído y preguntado mucho estos días pues desconocía el proceso y las características del mismo, de hecho es sabios que algunas distros en el momento de la instalación ya generan este tipo de archivos con las características de intercambio.
Al final como podéis comprobar en la siguiente imagen logre realizar sin mayores contratiempos dicha operación en mi Linux.
Conceptos:
Las Ventajas e inconvenientes de un archivo de intercambio frente a una partición swap tradicional:
-
Tradicionalmente todos sabemos que un área de intercambio se creaba en una partición especifica del disco en el momento de la instalación básicamente, llamada Swap la cual después de su creación resulta dificultosa cualquier modificación y administración total de la misma. Podemos decir que es más estática o rígida en su contraposición que “un archivo de intercambio o Swapfile” ya que este último podemos crearlos fácilmente en cualquier momento. No siendo necesario hacerlo durante el proceso de instalación del sistema. Además, podemos modificarlos borrarlos ampliarlos de manera muy sencilla.
-
Un archivo de intercambio o Swapfile simula una partición tradicional de intercambio de procesos cuando la memoria Ram comienza a escasear y es una muy buena opción ya que como os comentaba es muy versátil y fácil de administrar en todos los sentidos, incluso podemos realizar una de tipo temporal que desaparezca al apagar el sistema.
-
Una contrariedad, es necesario por motivos prácticos y de seguridad realizarlos en el apartado o partición Root / por lo cual si andamos escasos de espacio en el mismo es una cuestión que debemos tener en cuenta antes de crearlo.
-
Otro requisito es la realización como usuario Root para que esté solamente accesible su contenido por el administrador del sistema, ya que se suele verter en dicho archivo mucha información de las distintas operaciones realizados mientras está operativo.
-
El archivo Swapfile no es recomendable para la hibernación del PC por sus características.
Creación y configuración de el archivo SWAPFILE
Bien vayamos ha ver pormenorizadamente los pasos a seguir, es relativamente sencillo
Lo primero en comprobar es si disponemos ya de una partición de intercambio ya que algunos sistemas pueden crearla en modo automático durante el proceso de instalación. Para ello nos serviremos del comando “free -h”. Nos arrojará algo similar a lo siguiente:
En caso de tenerla creada aparecería así, en este caso con un espacio de 14 Gb
free -h
total used free shared buff/cache available
Mem: 7.5G 4.1G 267M 971M 3.1G 2.2G
Swap: 14G 0B 14G
|
Como podéis observar el anterior comando es demasiado simple y no nos aclara si es una partición o archivo, por lo que podemos usar el siguiente que es más específico:
swapon –show
NAME TYPE SIZE USED PRIO
/dev/nvme0n1p4 partition 14.9G 0B -2
|
Si ni dispusiésemos de un archivo nos arrojaría el siguiente resultado:
swapon –show
NAME TYPE SIZE USED PRIO
/swapfile file 2G 0B -2
|
Y si no tuviésemos espacio de intercambio archivo o partición:
free -h
total used free shared buff/cache available
Mem: 7.5G 4.1G 267M 971M 3.1G 2.2G
Swap: 0B 0B 0B
|
Buen ahora pasaremos a crear un archivo de intercambio llamado “Swapfile”.
Les recuerdo que podemos crearlos del tamaño que deseemos, ya que podremos modificarlos, ampliarlos, crear varios e incluso de manera temporal si lo necesitamos, pero seamos coherentes debemos crear uno lo suficiente capacitado para que funcione correctamente yo dispongo de unos 6 GB de memoria Ram, así que crearé uno de 4 GB por si en alguna ocasión mientras edito videos o tal me quedo corto. Recordar que se creará como os decía en la carpeta Root por lo que lo primero es comprobar el espacio disponible, para ello usaremos el siguiente comando:
df -h
|
Nos arrojara las distintas vertientes de nuestro sistema y la capacidad de nuestra Root que en mi caso esta en dev/sdea5 señalada por la /
Primer paso:
Procederemos a crear el archivo de intercambio y usare unos 4 GB como ejemplo, para ello en esta ocasión usaremos el comando “fallocate” también en otros prendimientos se pude usar el DD.
Tenemos que hacerlo como usuario root:
sudo fallocate -l 4G /swapfile
|
Es muy conveniente darle solo acceso al usuario root del sistema a dicho fichero lo cual nos facilitará su uso y nos protegerá de permisos inseguros 0644, 0600 sugeridos al intentar usar dicho archivo:
sudo chmod 600 /swapfile
|
Llegados a este punto he de aclarar que el archivo se le puede poner cualquier nombre e incluso si usamos varios llamarlos “swap_file_1, swap_file_2,” etc. Es solo un archivo con un tamaño predefinido.
Segundo paso:
Ahora procederemos a identificar el nuevo archivo exclusivamente como espacio de intercambio para ello le indicaremos al sistema cual va a ser su uso con el siguiente comando:
sudo mkswap /swapfile
|
Nos devolverá el siguiente resultado.
Tercer paso:
Pasaremos a habilitar debidamente el archivo de intercambio, ya que aunque el sistema sabe que está creado debemos “habilitarselo” para que pueda comenzar su utilización. Lo realizaremos con el siguiente comando
sudo swapon /swapfile
|
Procederemos a verificar el estado del espacio de intercambio y comprobar si nuestro sistema lo reconoce, para ello usaremos el comando Swapon (recordar que dicho comando nos da más información).
|
Cuarto paso:
Haremos que los cambios llevados a cabo sean de modo permanente.
Si lo dejásemos así habríamos creado un archivo Swapfile temporal y al reiniciar nuestro sistema desaparecería el mismo.
Procederemos a afianzar los cambios de un modo permanente para que cuando se inicie el sistema el archivo se cargue automáticamente y este listo para su utilización. Para ello debemos añadir una entrada del archivo de intercambio al archivo / etc / fstab.
Primero previamente realizaremos una copia de seguridad del archivo fstab la llamaremos fstab.black ya que este archivo es importante para el buen inicio del sistema, ser prudentes con su manejo.
|
Una vez creada la copia ya podemos manejar el original.
Dos maneras de hacerlo:
–Editarlo mediante la terminal, para ello tenemos que abrilo para editarlo y nos serviremos del siguiente comando
|
Debajo de la última línea existente crearemos una nueva entrada con el siguiente paramento que copiaremos a mano
|
Nos quedara así
Guardamos con la combinación de teclados (Ctrl + O) luego Enter y cerramos con (Ctrl + X) luego Enter, ya quedara todo listo para cuando reiniciemos el sistema nuestro recién creado archivo swap file se montara y podrá ser usado como si de una partición de intercambio se tratase.
–También podemos incorporar el parámetro de modo completamente automatizado con el siguiente comando:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
|
Aunque nos conviene hacerlo con la edición del archivo ya que así sabemos como quedo y lo que tenemos que borrar para una futura modificación del archivo de intercambio.
Reiniciamos para ver los resultados.
*Observación:
La primera vez que lo hagamos notaremos un retraso puntual en la carga del sistema, yo uso Mxlinux cuyo inicio lo tengo configurado para ver el arranque a la antigua usanza un tanto al estilo “Msdos” y que es en tipo texto. Durante el proceso de carga del sistema fue identificando y cargando el archivo correctamente como memoria de intercambio.
Como vemos en la anterior imagen si usamos una herramienta de información al estilo de Htop o Bashtop nos arrojará que el archivo de intercambio estará ya montado con swap y la capacidad de la misma 3.99 Gb recordar que le dimos 4Gb al archivo.
Ahora veremos algunas otras acciones relevantes que podemos realizar a este archivo como el ajuste de intercambio, ajustar la capacidad del archivo e incluso su correcta eliminación.
Ajustar el intercambio
La capacidad de configuración este tipo de archivos es muy alta y con él podemos realizar algunas interesantes acciones como en un momento dado aumentar o disminuir el flujo de intercambio entre la memoria Ram y el Swapfile.
Los parámetros de intercambio fijan la frecuencia o el ritmo con el que se utiliza el espacio de intercambio . El valor de intercambio puede variar desde 0 a 100 los valores más altos obligan a que el espacio de intercambio sea usado con mayor constancia.
Pongamos como ejemplo una distro muy utilizada Ubuntu para ella corresponde a 60 y en sus servidores 1 ya que el intercambio en estos últimos es más lento en ellos y interactúan mejor las dos áreas la Ram y la Swap con valores bajos.
Procedamos a verificar el grado de intercambio fijado con el siguiente comando:
cat /proc/sys/vm/swappiness
|
Como veis a mí me da 15
Debemos saber que se puede cambiar los valorees de intercambio de un modo puntual si lo necesitamos, con el siguiente comando lo subiríamos por ejemplo a 25.
sudo sysctl vm.swappiness=25
|
Si lo necesitásemos de modo permanente editaríamos el siguiente archivos /etc/sysctl.conf y agregaríamos el valor de intercambio al final del archivo.
|
Cambiar el tamaño del espacio de intercambio en Linux.
Existe algunas variantes que debemos tener en cuentas, recordar que al inicio os hablaba de las llamadas “áreas de intercambio temporales”, asi como la posibilidad de tener varios archivos al mismo tiempo y demás.
Llegados a este punto, he de señalar que para modificar o incluso eliminar algún archivo de intercambio este debe por lógica estar detenido, para ello la información que estaba guardada en él debe ser liberada y regresar a la memoria Ram, por lo cual o esta cuenta con mucho espacio libre o seguimos los pasos y generamos un archivo temporal como os indique más arriba para que no colapse el sistema.
Si tenemos suficiente RAM libre o si creamos un espacio de intercambio temporal, procedemos a detener el intercambio con el archivo, los parámetros siguientes “swapoff lo detiene y swapon lo activa.”
¡Deteniendo archivo!
sudo swapoff /swapfile
|
Ahora usaremos el comando Fallocate para cambiar el tamaño del archivo. Vamos a aumentar su capacidad de 4 a 6 GB.
sudo fallocate -l 6G /swapfile
|
Procederemos de nuevo a calificar el archivo como espacio de intercambio.
sudo mkswap /swapfile
|
Hecho lo anterior, lo activaremos nuevamente, recordar que el parámetro del comando ahora cambia ligeramente.
sudo swapon /swapfile
|
Eliminar archivo swapfile de intercambio en Linux
Como en todo, aveces después de un tiempo por lo que sea queremos eliminarlo y dejar nuestra distro Linux libre de él, pues siguiendo estos sencillos pasos también es posible. Sigamos minuciosamente el proceso, os mostraré como hacerlo.
1º) Importante recordar como os comentaba más arriba de revisar si tenemos mucha Ram libre para evitar cuelgues del sistema o creamos un archivo temporal para garantizar con éxito dicho proceso. Ya que toda la información almacenada regresa a la memoria Ram.
2º) Apagamos el intercambio entre la Memoria Ram y nuestro archivo con el siguiente comando:
|
3º) Procederemos a eliminar la entrada que corresponde al archivo de intercambio en el archivo que editamos al principio / etc / fstab.
Nota:
Ser muy cuidado con lo que hacéis en el ya que puede fastidiar el inicio del sistema. El comando para editarlo es:
sudo nano /etc/fstab
|
Y eliminamos solo la última línea que añadimos; recordar “/swapfile none swap sw 0 0” y guardamos.
4º) Ahora procederemos a eliminar el archivo para recuperar el espacio:
sudo rm /swapfile
|
¿Tienes dudas sobre como configurar o instalar alguna aplicación? ¿Te surgió algún problema imprevisto en tú distro Linux? Visita nuestra sección de Guías donde encontraras variados y interesantes artículos que te pueden ayudar.
Fuentes consultadas: