Gibt es eine Möglichkeit, meine vorhandene "Swap-Datei" zu vergrößern, ohne sie zerstören und neu erstellen zu müssen? Ich möchte meinen Swap-Speicherplatz von 1 GB auf 2 GB aufrüsten. Derzeit ist es als solches eingerichtet:
$ sudo swapon -s
Filename Type Size Used Priority
/swapfile file 1048572 736640 -1
$ ls -lh /swapfile
-rw------- 1 root root 1.0G Nov 9 2016 /swapfile
Ich benutze Ubuntu 14.04.
command-line
files
swap
storage
Dave
quelle
quelle
swapoff
, erstellen Sie eine neue /mkswap
swapon -a
swapoff
danndd
undmkswap
endlichswapon
. Ich dachte du willst deine Akte nicht anfassen.Antworten:
Deaktivieren Sie zuerst die Auslagerungsdatei:
Erhöhen wir nun die Größe der Auslagerungsdatei:
Mit dem obigen Befehl wird am Ende der Auslagerungsdatei 1 GByte mit Null Byte angehängt.
Richten Sie die Datei als "Auslagerungsdatei" ein:
Swap aktivieren:
quelle
sudo fallocate -l 2G /swapfile
ist wahrscheinlich sicherer als dd (obwohl es nicht die ursprüngliche Auslagerungsdatei enthält), und es benötigt auch einesudo chmod 600 /swapfile
.fallocate
spärlichen Dateien? Dieswapon
Manpage sagt, dass spärliche Auslagerungsdateien problematisch sind (speziell erwähntfallocate
).mkswap
manpage sagt auch, dass die dateien keine löcher enthalten sollen.fallocate
vorab Speicherplatz zuzuweisen und danndd
die Lücken mit Nullen zu füllen.Sie sollten eine neue Auslagerungsdatei hinzufügen, anstatt die Größe der vorhandenen Auslagerungsdatei zu ändern, da dies Sie nichts kostet . Um die Größe einer Auslagerungsdatei zu ändern, müssen Sie diese zunächst deaktivieren. Dadurch wird der Auslagerungsinhalt in den Arbeitsspeicher verschoben, wodurch der Druck auf den Arbeitsspeicher erhöht wird. Möglicherweise wird sogar der OOM-Killer beschworen (ganz zu schweigen davon, dass Sie möglicherweise Ihre Datenträger für einige Minuten zerstören). Mehrere Auslagerungsdateien sind kein Problem, es ist einfach, eine weitere Auslagerungsdatei einzurichten. Es hat buchstäblich keinen Vorteil, die Größe einer Auslagerungsdatei zu ändern, anstatt eine andere hinzuzufügen.
quelle
sudo chmod 600 /some/file
erforderlich oder nicht?count=1K
es eine 1G-Datei? Anzahl ist in Blockgröße, ja? Und das kann 512/4096 sein? Oder ist meine Mathematik falsch?Sie können eine weitere Auslagerungsdatei wie folgt erstellen:
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show
So legen Sie fest, dass der
fstab
Dateityp permanent eine Datei hinzugefügt wird :echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
quelle
fallocate
das Bit zum Erstellen der Datei verwendet werden sollte, da hierdurch eine seltene Datei erstellt wird. sieheman mkswap
man mkswap
, insbesondere den letzten Pargraphen vor "Umwelt"Ich habe auf meinem Ubuntu 17.04 gute Ergebnisse erzielt, wenn ich dem Rat von Arian Acosta aus dem Blogpost folge . Hier kann man das 4G
sudo fallocate -l 4G /swapfile
durch eine beliebige Anzahl von Gigabyte ersetzen . Zum Beispielsudo fallocate -l 2G /swapfile
für TS.quelle
Allgemeine Antwort für "Ändern der Größe der Auslagerungsdatei":
Von Bogdan Cornianu hier: https://bogdancornianu.com/change-swap-size-in-ubuntu/
[ZITAT (FAST VERBATIM, mit nur ein paar meiner Kommentare) START]
Im folgenden Beispiel erweitern wir den verfügbaren Swap-Speicher in der Datei / swap von 4 GiB auf 8 GiB.
Schalten Sie alle Swap-Prozesse aus
Ändern Sie die Größe des Swap
if
= Eingabedateiof
= Ausgabedateibs
= Blockgröße; Hier1G
steht für 1 Gibibyte oder GiB, die lautman dd
ist G = 1024 * 1024 * 1024 Bytescount
= Multiplikator von BlöckenMache die Datei als Swap nutzbar
Aktivieren Sie die Auslagerungsdatei
Überprüfen Sie den verfügbaren Swap-Betrag
[QUOTE END]
quelle