Swap: ¿Es mejor crear una partición de intercambio dedicada o crear un archivo de intercambio?

9

¿Existe una justificación para crear una partición de intercambio dedicada en lugar de crear un archivo de intercambio, por ejemplo, como / tmp / swap?

En mi caso, la memoria es baja (1 GB), el espacio en disco en un SSD es bastante grande (256 GB). Por lo tanto, el intercambio ocurrirá con bastante regularidad.

Cualquier comentario apreciado!

Carsten

CarstenP
fuente
44
Tenga en cuenta que puede acortar la vida útil de su SSD al usarlo para el intercambio. askubuntu.com/questions/652337/…
steve

Respuestas:

3

La principal desventaja que puedo ver por usar archivos de intercambio en lugar de particiones de intercambio es que no es posible fragmentar una partición de intercambio, mientras que es posible que, después de la creación, un archivo de intercambio en una extensión del sistema de archivos se pueda dividir en el disco, lo que provoca un acceso secuencial más lento.

DopeGhoti
fuente
2
Dado que los SSD no tienen una penalización de lectura aleatoria, el archivo fragmentado causa muy poco daño.
David King
Para ser honesto, he estado a favor de una partición de intercambio desde entonces, pero bueno, como decimos aquí en Alemania, "no hay costo en pedir" ;-)
CarstenP
1
A menudo haré archivos de intercambio para uso temporal si preveo un proyecto grande que pueda agotar la RAM configurada e intercambiar particiones, pero me gusta mantenerlo particionado. De esa manera, puedo reutilizar particiones de intercambio entre distribuciones de Linux tan fácilmente como puedo reutilizar particiones de inicio.
DopeGhoti
1
La parte sobre "más capas de código del núcleo para atravesar cuando se escribe en un archivo en un sistema de archivos" no es cierta: " El núcleo genera un mapa de desplazamiento de intercambio -> bloques de disco en el momento del intercambio y de ahí en adelante usa ese mapa para realizar el intercambio E / S directamente contra la cola de disco subyacente, omitiendo todo el almacenamiento en caché, los metadatos y el código del sistema de archivos. "- Archivo Linux-Kernel: Re: Intercambio de partición vs archivo de intercambio
Anthony Geoghegan
1

Las operaciones de E / S en un archivo tienen que pasar por más capas de código del núcleo (VFS, por ejemplo), por lo que hay más sobrecarga asociada con el intercambio a un archivo. Por otro lado, es una configuración más flexible y puede ser lo suficientemente buena para su caso.

Karol Nowak
fuente
Tal vez debería familiarizarme más con la pompa de intercambio de E / S, los patos y las circunstancias ... ¿No hay nada acerca de que Linux sea agradable, lento y simple? ^^: D PD: Bueno, olvídate de lo "lento" ... ^^
CarstenP
Eso no es realmente cierto: " El núcleo genera un mapa de desplazamiento de intercambio -> bloques de disco en el momento del intercambio y, a partir de ese momento, utiliza ese mapa para realizar E / S de intercambio directamente contra la cola de disco subyacente, omitiendo todo el almacenamiento en caché, metadatos y código del sistema de archivos. "- Archivo Linux-Kernel: Re: Intercambio de partición vs archivo de intercambio
Anthony Geoghegan
1

El acceso a los archivos de intercambio no pasa por el sistema de archivos ... el núcleo sabe qué bloques de disco son intercambiables y accede a ellos directamente 1 . Pero un archivo no contiguo puede tener fragmentos en diferentes áreas del disco y, según el uso específico, la búsqueda adicional puede hacerlo más lento que una partición dedicada.

OTOH, si se trata de un servidor en la nube que no tiene una partición de intercambio y no hay posibilidad de crear uno, un archivo de intercambio puede guardar su aplicación.


[1]El kernel genera un mapa de desplazamiento de intercambio -> bloques de disco en el momento del intercambio y de ahí en adelante usa ese mapa para realizar E / S de intercambio directamente contra la cola de disco subyacente, omitiendo todo el almacenamiento en caché, metadatos y código del sistema de archivos. "- Archivo Linux-Kernel: Re: Intercambio de partición vs archivo de intercambio

Jorge
fuente
¿Cuál es el caso si la fs mueve / cambia el tamaño de los bloques de archivos? Creo que en el caso de los archivos de intercambio, al menos debería existir alguna interacción con el controlador fs.
peterh - Restablece a Monica el
Votado Esta debería ser la respuesta aceptada, ya que es la única que establece que el núcleo accede directamente a los bloques de disco utilizados para el intercambio.
Anthony Geoghegan