Non riesco a immaginare perché un file di scambio debba avere dimensioni fisse. Perché non lasciarlo ridimensionare in modo dinamico, come il file di immagine del disco rigido per una scatola virtuale?
Non riesco a immaginare perché un file di scambio debba avere dimensioni fisse. Perché non lasciarlo ridimensionare in modo dinamico, come il file di immagine del disco rigido per una scatola virtuale?
Risposte:
Non sembra che Linux supporti il dimensionamento dei file di scambio dinamico (in ogni caso, non sono riuscito a rilevare che un file di scambio aveva cambiato dimensione senza un swapoff
/ swapon
).
Presumibilmente è più facile supporre che un file di scambio non cambi dinamicamente le dimensioni del file quando si scrive il codice per supportarlo. Non vedo nemmeno un grande uso per questo. Poiché è possibile utilizzare più file di scambio, nulla ti impedisce di creare più file di scambio in base alle esigenze.
Da notare anche questo paragrafo dalla swapon
pagina di manuale :
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.
Penso che lo stesso problema si applicherebbe a un file di scambio di dimensioni dinamiche.
SwapSpace è un'utilità che ti permetterà di effettuare scambi di dimensioni dinamiche se questo è quello che stai cercando. Credo che sia disponibile in Ubuntu.
So che è tardi, ma penso che la migliore soluzione per lo scambio dinamico sia:
sudo apt install dphys-swapfile
sudo update-rc.d dphys-swapfile enable
quindi impostando CONF_SWAPFACTOR=2
in /etc/dphys-swapfile
e, infine,
sudo service dphys-swapfile start
Lo spazio di swap può essere aggiunto a un sistema in esecuzione utilizzando il swapon
comando Ha bisogno di un file di swap / partizione (non utilizzato) esistente. Per crearne uno, utilizzare il dd
comando per allocare un file contiguo, quindi mkswap
aggiungere le informazioni di controllo corrette al file / alla partizione.
Per rimuovere un file di scambio, utilizzare swapoff
; il file può quindi essere eliminato.
Ho il sospetto che questo sia ciò SwapSpace
che designa quel @ user231695 menzionato.
Si noti che swapoff può essere un'operazione lenta se il file di swap è in uso; tutti i dati devono essere trasferiti in un'altra area di scambio.