Quale comando può essere utilizzato per forzare il rilascio di tutto nella partizione di swap in memoria?


12

Quale comando può essere utilizzato per forzare il rilascio di tutto nella partizione di swap in memoria?

Supponi di avere abbastanza memoria.

Risposte:


19

Da questa domanda di Ubuntu :

Puoi anche cancellare lo swap eseguendo swapoff -ae quindi swapon -acome root invece di riavviare per ottenere lo stesso effetto.

Così:

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

Come notato in un commento, se non si dispone di memoria sufficiente, swapoffsi verificheranno errori "memoria insufficiente " e sui processi di eliminazione del kernel per ripristinare la RAM.


3
Spiegandolo ulteriormente, se non si dispone di RAM sufficiente a sufficienza, swapoffsi verificheranno errori di memoria insufficiente e il kernel inizierà a terminare i processi per recuperarne alcuni. Usare questo con cautela.
bahamat,

Spero meglio così; Linux si comporta abbastanza esilarante quando si esaurisce la memoria senza scambio attivo a tutti ...
Shadur

1

Come notato, semplicemente disattivando tutto lo swap, il kernel inizierà a uccidere le cose se non ha abbastanza memoria libera. Se desideri evitarlo, crea prima un secondo set di swap. Poi:

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

Questo cambierà comunque in tutto, ma se non c'è abbastanza spazio, verrà spostato sul secondo dispositivo di scambio invece di uccidere casualmente le cose. Quindi sposta tutto indietro.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.