Ich kann mir nicht vorstellen, warum eine Auslagerungsdatei eine feste Größe haben muss. Warum lassen Sie es nicht dynamisch die Größe ändern, wie die Festplatten-Image-Datei für eine virtuelle Box?
Ich kann mir nicht vorstellen, warum eine Auslagerungsdatei eine feste Größe haben muss. Warum lassen Sie es nicht dynamisch die Größe ändern, wie die Festplatten-Image-Datei für eine virtuelle Box?
Antworten:
Es sieht nicht so aus, als ob Linux die dynamische Größe von Auslagerungsdateien unterstützt (jedenfalls konnte ich nicht feststellen, dass sich die Größe einer Auslagerungsdatei ohne swapoff
/ geändert hat swapon
).
Vermutlich ist es einfacher anzunehmen, dass sich die Dateigröße einer Auslagerungsdatei nicht dynamisch ändert, wenn Code für deren Unterstützung geschrieben wird. Ich sehe auch keine große Verwendung dafür. Da Sie mehrere Auslagerungsdateien verwenden können, hindert nichts Sie daran, bei Bedarf weitere Auslagerungsdateien zu erstellen.
Beachten Sie auch diesen Absatz in der swapon
Manpage :
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.
Ich würde denken, dass das gleiche Problem für eine Auslagerungsdatei mit dynamischer Größe gelten würde.
SwapSpace ist ein Dienstprogramm, mit dem Sie einen Swap mit dynamischer Größe durchführen können, wenn Sie danach suchen. Ich glaube, es ist in Ubuntu verfügbar.
Ich weiß, dass es spät ist, aber ich denke, die beste Lösung für einen dynamischen Austausch ist:
sudo apt install dphys-swapfile
sudo update-rc.d dphys-swapfile enable
Einstellung dann CONF_SWAPFACTOR=2
in /etc/dphys-swapfile
und schließlich
sudo service dphys-swapfile start
Swap Space kann einem laufenden System mit dem swapon
Befehl hinzugefügt werden . Es wird eine vorhandene (nicht verwendete) Swap-Datei / Partition benötigt. Um eine zu erstellen, verwenden Sie den dd
Befehl, um eine zusammenhängende Datei zuzuweisen, und mkswap
fügen Sie dann der Datei / Partition die richtigen Steuerinformationen hinzu.
Verwenden Sie zum Entfernen einer Auslagerungsdatei swapoff
; Die Datei kann dann gelöscht werden.
Ich vermute, das ist was SwapSpace
dæmon, dass @ user231695 erwähnt wird.
Beachten Sie, dass das Auslagern ein langsamer Vorgang sein kann, wenn die Auslagerungsdatei verwendet wird. Alle Daten müssen in einen anderen Swap-Bereich übertragen werden.