Me parece que un archivo de intercambio es más flexible.
Me parece que un archivo de intercambio es más flexible.
Respuestas:
Un archivo de intercambio es más flexible pero también más falible que una partición de intercambio. Un error del sistema de archivos podría dañar el archivo de intercambio. Un archivo de intercambio puede ser una molestia para el administrador, ya que el archivo no se puede mover ni eliminar. Un archivo de intercambio no se puede utilizar para la hibernación. Un archivo de intercambio fue un poco más lento en el pasado, aunque la diferencia es insignificante hoy en día.
La ventaja de un archivo de intercambio es que no tiene que decidir el tamaño de antemano. Sin embargo, en Linux, aún no puede cambiar el tamaño de un archivo de intercambio en línea: debe anular el registro, cambiar el tamaño y luego volver a registrar (o crear un archivo diferente y eliminar el antiguo). Por lo tanto, no hay tantos beneficios para un archivo de intercambio en Linux, en comparación con una partición de intercambio. Es principalmente útil cuando necesita temporalmente más memoria virtual, en lugar de como un dispositivo permanente.
Se puede preferir una partición de intercambio porque evita una dependencia en el sistema de archivos cuando todo lo que necesita es un grupo de memoria direccionable.
Pero nada le impide usar un archivo de intercambio en lugar de una partición de intercambio, o además de una partición de intercambio.
Crea el archivo:
dd if=/dev/zero of=/extraswap bs=1M count=512
Inicialice el contenido del archivo:
mkswap /extraswap
Úselo:
swapon /extraswap
A ver si funcionó:
free -m
Para comenzar a usar el archivo de intercambio siempre en el arranque, edite / etc / fstab y agregue
/extraswap swap swap defaults 0 0
[1] http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/custom-guide/s1-swap-adding.html
moreswap
una terminal si de repente necesito espacio de intercambio adicional:alias moreswap='swapfile=`mktemp /tmp/swapXXXX` && sudo touch $swapfile && sudo dd bs=512 count=1M if=/dev/zero | tee $swapfile | pv -s 512M && sudo mkswap $swapfile && sudo swapon $swapfile'
Quizás la razón principal es que el núcleo principal suspender al disco no funciona con archivos de intercambio. Por ejemplo, las instrucciones wiki de Debian son para instalar uswsusp
si necesita esto.
Más recientemente, los archivos de intercambio no funcionan si el sistema de archivos lo es btrfs
, por lo que es más simple para las distribuciones crear siempre el intercambio como una partición.
Se menciona vagamente que el uso de un archivo para intercambio tenía un rendimiento potencialmente menor que una partición, antes de la versión 2.6 del núcleo. https://www.kernel.org/doc/gorman/html/understand/understand014.html#text15
Para completar, agregaré mi propia respuesta:
Como dijo @Gilles, un archivo de intercambio no se puede utilizar para la hibernación. Cuando se usa un archivo de intercambio, el sistema debe ubicar el encabezado del archivo de intercambio, pero para hacer esto se debe montar el sistema de archivos que contiene el archivo de intercambio, y un sistema de archivos registrado, por ejemplo, ext3, ext4 y básicamente todos los sistemas de archivos modernos utilizados por Linux - no se puede montar durante la reanudación desde el disco. (En realidad, hay formas de hacerlo, pero bastante engorroso).
Fuente: https://www.kernel.org/doc/Documentation/power/swsusp-and-swap-files.txt
Creo que se debe principalmente a que el tiempo de acceso a los datos ubicados en una partición es menor. El objetivo del archivo de intercambio es más para ayudar al administrador del sistema cuando realmente no tiene RAM y necesita operar grandes operaciones que tal vez podrían bloquear su sistema. En este caso, creará esporádicamente archivos de intercambio cuando sea necesario.
Pero de todos modos puedes tener los dos.