No puedo imaginar por qué un archivo de intercambio debe tener un tamaño fijo. ¿Por qué no dejar que cambie de tamaño dinámicamente, como el archivo de imagen del disco duro para una caja virtual?
No puedo imaginar por qué un archivo de intercambio debe tener un tamaño fijo. ¿Por qué no dejar que cambie de tamaño dinámicamente, como el archivo de imagen del disco duro para una caja virtual?
Respuestas:
No parece que Linux admita el tamaño dinámico del archivo de intercambio (en cualquier caso, no pude detectar que un archivo de intercambio hubiera cambiado de tamaño sin un swapoff
/ swapon
).
Presumiblemente, es más fácil suponer que un archivo de intercambio no cambia el tamaño del archivo dinámicamente al escribir código para soportarlo. Tampoco veo un gran uso para ello. Dado que puede usar múltiples archivos de intercambio, nada le impide crear más archivos de intercambio según sea necesario.
También tenga en cuenta este párrafo de la página de swapon
manual :
The swap file implementation in the kernel expects to be able to write
to the file directly, without the assistance of the filesystem. This
is a problem on preallocated files (e.g. fallocate(1)) on filesystems
like XFS or ext4, and on copy-on-write filesystems like btrfs.
Creo que el mismo problema se aplicaría a un archivo de intercambio de tamaño dinámico.
SwapSpace es una utilidad que le permitirá realizar intercambios de tamaño dinámico si eso es lo que está buscando. Creo que está disponible en Ubuntu.
Sé que es tarde, pero creo que la mejor solución para el intercambio dinámico es:
sudo apt install dphys-swapfile
sudo update-rc.d dphys-swapfile enable
luego poner CONF_SWAPFACTOR=2
en /etc/dphys-swapfile
y finalmente
sudo service dphys-swapfile start
El espacio de intercambio se puede agregar a un sistema en ejecución mediante el swapon
comando. Necesita un archivo de intercambio / partición existente (sin usar). Para crear uno, use el dd
comando para asignar un archivo contiguo y luego mkswap
para agregar la información de control correcta al archivo / partición.
Para eliminar un archivo de intercambio, use swapoff
; El archivo puede ser eliminado.
Sospecho que eso es lo SwapSpace
que hace dæmon que @ user231695 menciona.
Tenga en cuenta que el intercambio puede ser una operación lenta si el archivo de intercambio está en uso; Todos los datos deben transferirse a otra área de intercambio.