Para funcionar correctamente, un sistema informático necesita tener memoria RAM. Y cuantos más gigas, mejor. Esta memoria se utiliza para cargar todos los programas y recursos necesarios para que el PC funcione correctamente. De entrada, los sistemas operativos modernos (Windows 10, Ubuntu, macOS) necesitan en torno a 2 GB mínimos para funcionar bien. Y cuantos más programas usemos, más memoria necesitamos. Sin embargo, ¿qué ocurre si nos quedamos sin memoria mientras usamos Linux? Entonces se recurre a una técnica conocida como «Swap».
Lo primero que debemos tener en cuenta es que muchos s de Windows desde hace años migran a equipos basados en Linux debido a que estos sistemas operativos de código abierto requieren menos exigencias hardware. Además, este software que os comentamos está capacitado para gestionar mejor la cantidad de memoria disponible en nuestro ordenador en comparación a cómo lo hace el sistema operativo de Microsoft.
Qué es el Swap en Linux y cuál es su función
Pero al mismo tiempo nosotros mismos debemos tener ciertos conocimientos más avanzados para así poder sacar el máximo partido a estas funciones de control y manipulación del hardware en Linux.
Para empezar, os diremos que se conoce como «Swap» dentro de los sistemas Linux como a un determinado espacio del disco duro que, en caso de necesidad, se utiliza como memoria RAM virtual. De esta forma, si nuestro ordenador se está quedando sin memoria RAM libre, se mueven datos de la misma al disco duro, se libera su espacio y, en caso de necesitarlos de nuevo más adelante, se accede a ellos desde dicho disco duro.
Si partimos de la base de que en ocasiones utilizamos estos sistemas de código abierto en equipos un tanto limitados o antiguos, este es un apartado que cobra una especial importancia. Más si deseamos que el sistema funcione de manera fluida sacando el máximo provecho al reducido hardware disponible en el ordenador, algo que influye de manera directa tanto en las unidades de disco como en la memoria RAM.
En Windows, el Swap es lo que conocemos como «pagefile» o memoria virtual. Mientras que en Windows siempre ha sido un fichero (pagefile.sys), en Linux, hasta hace relativamente poco tiempo, teníamos que tener una partición dedicada (formateada y montada como swap) de la capacidad que nosotros quisiésemos para usarla para este fin. las distribuciones más modernas ya utilizan un fichero similar al de Windows para esta labor.
Como podemos ver, el programa no tiene ninguna complicación. Simplemente debemos especificarle el valor que queremos usar, y listo. Aceptamos los cambios y ya podemos empezar a disfrutar más de nuestro Linux.
Partición SWAP vs swapfile, ¿qué es mejor?
Como hemos visto, Linux tiene dos tipos de intercambio. Por un lado, tenemos la posibilidad de dedicar una partición completa a intercambio, y por otro crear un fichero que se encargue de guardar la información del intercambio de memoria, como hace Windows.
Ambas técnicas funcionan igual, y ninguna de ellas ha demostrado dar mejor o peor rendimiento. Sin embargo, el método original, el de la partición, es bastante más incómodo. Debemos tener siempre una partición en el disco duro de unos pocos gigas para usarla como memoria de intercambio. Y en caso de necesitar hacerla más grande, estaremos mucho más limitados, ya que si tenemos una partición contigua no podremos hacerla más grande.
De todos modos, el uso de un método u otro también depende de los conocimientos más o menos avanzados que tengamos del sistema operativo de código abierto. Lo cierto es que el segundo, swapfile, resultará mucho más funcional y cómodo de usar para aquellos s que estén un tanto limitados en cuanto a su experiencia en Linux. Por el contrario, los s más avanzados quizá prefieran utilizar el primer sistema ya que tendrán mucho más control sobre el almacenamiento temporal pudiendo gestionar las diferentes particiones de las unidades de disco.
El uso del swapfile es mucho más cómodo. Este fichero podemos crearlo, darle el tamaño que queramos, y borrarlo con un simple comando. No dependemos de particiones ni puntos de montaje especiales, por lo que podemos jugar con el intercambio como menos nos venga en cada momento.
Si nuestra distro Linux lo permite, nosotros preferimos usar el fichero de intercambio, swapfile. Además esto es algo que se hace extensible a la mayoría de los s tanto avanzados como noveles en el sistema operativo de código abierto. a su vez más adelante os hablaremos de los equivocados mitos que rodean a esta característica de Linux y que en ocasiones intentan frenarnos en su uso.
¿Puedo usar Linux sin Swap?
La partición (o archivo) de intercambio en Linux lleva presente desde los inicios de este sistema operativo. Y antes tenía mucho sentido, ya que, aunque los programas ocupaban mucha menos memoria que ahora, la RAM era mucho más limitada. Ahora es raro ver un ordenador relativamente moderno con menos de 16 GB o 32 GB de memoria. Con esa cantidad, aunque las aplicaciones ocupen mucho más espacio cuando están abiertas, es raro que un ordenador se llegue a quedar sin RAM disponible.
Por lo tanto, siempre y cuando haya memoria RAM disponible, sí que vamos a poder usar un Linux sin intercambio. Es más, al no tener que escribir datos al disco duro o el SSD, el rendimiento será bastante más elevado, ya que eliminamos ese cuello de botella. Eso sí, si llenamos toda la memoria, y no tenemos intercambio, entonces sí que tendremos problemas.
Nuestra recomendación es que no renunciemos a la SWAP de Linux. Pero lo que sí deberíamos hacer es configurar el swappiness lo más bajo posible de manera que solo se escriban datos en esta memoria extendida cuando la principal se esté quedando sin espacio libre.
Swap con cada tipo de disco
Puede ser algo que a priori se pase por alto, pero el rendimiento del Swap está directamente relacionado con el tipo de disco que se utilice para almacenar esta memoria virtual. Como bien hemos visto, el objetivo de esta técnica es actuar como una extensión de la memoria RAM cuando esta se agota. Por ese motivo, el hardware, cuando hablamos de velocidades de lectura y escritura en disco, es importante.
Es muy habitual que mencionemos diferentes rendimientos cuando hablamos de un disco duro HDD tradicional, y una unidad estado sólido, SSD. Actualmente vivimos una transición en la que conviven ambos tipos de disco, pese a que las ventajas de los segundos son claras y las repasamos constantemente en SoftZone.
Cuando hablamos de Swap en discos duros mecánicos, su rendimiento tiende a ser mucho más lento en comparación con la memoria RAM. No en vano, su rendimiento depende de componentes mecánicos como platos giratorios y cabezales de lectura/escritura. Las velocidades de en un disco duro de este tipo suelen oscilar entre 50 y 150 MB/s, mientras que la RAM moderna opera a velocidades de gigabytes por segundo. Por ese motivo, cuando tiene que mover datos de la RAM al Swap, el retraso es considerable y la experiencia se enturbia. En un disco HDD hablamos más bien de una solución temporal, más que un remedio permanente para suplir la falta de RAM.
En el otro extremo están los discos duros SSD, que responden mucho mejor al Swap, al no tener precisamente los mismo impedimentos que hacen lenta la opción de los HDD. Al no tener partes móviles, ofrecen velocidades de lectura y escritura mucho más rápidas, que pueden superar los 500 MB/s en modelos SATA y alcanzar varios GB/s en SSD NVMe con interfaz PCIe. Sigue siendo mucho más lento que una RAM, pero en este caso sí puede suplir de manera temporal o a medio plazo la carencia de esta memoria.
Mitos sobre SWAP
Igual que ocurre con la paginación de Windows, hay muchos mitos y muchas leyendas que giran en torno al intercambio de Linux. Y uno de los más graves es, desde luego, gira en torno a su funcionamiento. Generalmente se asocia el intercambio a que, cuando se alcanza cierto umbral, se deja de usar la RAM y se empieza a usar este SWAP. Es un concepto muy erróneo que, como se ha extendido a lo largo de los años, se cree que es verdad. Pero está muy lejos de la realidad. Y menos si configuramos correctamente el Swapiness.
Esto quiere decir que no deberíamos tener miedo de usar esta función de la que os hemos estado hablando, especialmente en equipos que estén limitados en la memoria RAM disponible. La mayoría de las ocasiones ganaremos en rendimiento al tiempo que evitamos posibles bloqueos en el funcionamiento de algunos programas.
Otro mito (a medias) es que perdemos rendimiento en el PC. Este, en el pasado, era cierto, ya que escribir en los discos duros era infinitamente más lento que hacerlo en la RAM. A día de hoy, con los SSD NVMe PCIe 4.0, aunque puede haber pérdida de rendimiento, esta es casi inapreciable.
¿Y qué pasa con que se rompen los discos duros y, sobre todo, los SSD? Los discos duros jamás se han roto por usar el intercambio. Las primeras unidades de SSD tenían ciclos de escritura muy cortos y limitados, y las escrituras del SWAP es cierto que podían llegar a resentirlos. Hoy en día, los ciclos de escritura y lectura los hacen casi eternos, por lo que no va a haber el menor problema en ese sentido.
Esto quiere decir que nos podemos olvidar de esos mitos y leyendas que afirman que el uso de esta funcionalidad en Linux podría dañar las unidades de disco sólido que tengamos instaladas en el equipo.