Mit welchem ​​Befehl kann die Freigabe aller Elemente in der Swap-Partition zurück in den Speicher erzwungen werden?

12

Mit welchem ​​Befehl kann die Freigabe aller Elemente in der Swap-Partition zurück in den Speicher erzwungen werden?

Angenommen, ich habe genug Speicher.

Gänseblümchen
quelle

Antworten:

19

Aus dieser Ubuntu-Frage stellen :

Sie können Ihren Swap auch löschen, indem Sie ihn ausführen swapoff -aund dann swapon -aals Root ausführen, anstatt ihn neu zu starten, um den gleichen Effekt zu erzielen.

Somit:

$ free -tm
...
Swap:         6439        196       6243
...
$ sudo swapoff -a
$ sudo swapon -a
$ free -tm
...
Swap:         6439          0       6439
...

Wie in einem Kommentar erwähnt, führt ein nicht ausreichender Arbeitsspeicher zu swapoffFehlern aufgrund von Speichermangel und zu Kernel-Killing-Prozessen, um RAM wiederherzustellen.

Renan
quelle
3
Erklären diese weiter, wenn Sie nicht genügend RAM verfügbar haben swapoffwird in Folge von Speicherfehlern und der Kernel startet Prozesse zu töten einige zu erholen. Verwenden Sie dies mit Vorsicht.
Bahamat
Besser so hoffen; Linux verhält sich ziemlich urkomisch , wenn man sich ohne aktive Swap - Speicher erschöpft alle ...
Shadur
1

Wie bereits erwähnt, führt das einfache Deaktivieren des gesamten Austauschs dazu, dass der Kernel Dinge beendet, wenn nicht genügend freier Speicher vorhanden ist. Wenn Sie dies vermeiden möchten, erstellen Sie zuerst einen zweiten Swap-Satz. Dann:

swapon /second/swap/device && swapoff /first/swap/device 
swapon /first/swap/device && swapoff /second/swap/device

Dies wird immer noch alles austauschen, aber wenn nicht genügend Platz vorhanden ist, wird es auf das zweite Tauschgerät verschoben, anstatt Dinge zufällig zu töten. Dann schieben Sie einfach alles zurück.

Perkins
quelle
0

Einzeiler:

sudo bash -c 'swapoff -a && swapon -a'
Karlingen
quelle