Quelle commande peut être utilisée pour forcer le relâchement de tout dans la partition de swap vers la mémoire?

12

Quelle commande peut être utilisée pour forcer le relâchement de tout dans la partition de swap vers la mémoire?

Supposons que j'ai suffisamment de mémoire.

Marguerite
la source

Réponses:

19

De cette question Ask Ubuntu :

Vous pouvez également effacer votre swap en exécutant swapoff -apuis en swapon -atant que root au lieu de redémarrer pour obtenir le même effet.

Donc:

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

Comme indiqué dans un commentaire, si vous n'avez pas assez de mémoire, swapoffcela entraînera des erreurs de «mémoire insuffisante » et sur les processus de destruction du noyau pour récupérer la RAM.

Renan
la source
3
Expliquant cela davantage, si vous n'avez pas assez de RAM disponible, swapoffcela entraînera des erreurs de mémoire insuffisante et le noyau commencera à tuer les processus pour en récupérer. Utilisez-le avec prudence.
bahamat
Il vaut mieux l'espérer; linux se comporte assez hilarante quand vous manquez de mémoire sans échange actif à tous ...
Shadur
1

Comme indiqué, la simple désactivation de tous les échanges entraînera le noyau à commencer à tuer des choses s'il n'a pas assez de mémoire libre. Si vous souhaitez éviter cela, créez d'abord un deuxième ensemble de swap. Ensuite:

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

Cela permutera toujours dans tout, mais s'il n'y a pas assez d'espace, il sera déplacé vers le deuxième périphérique d'échange au lieu de tuer des choses au hasard. Ensuite, remettez tout cela en arrière.

Perkins
la source
0

Bon mot:

sudo bash -c 'swapoff -a && swapon -a'
karlingen
la source