Que comando pode ser usado para forçar o lançamento de tudo na partição swap de volta à memória?

12

Que comando pode ser usado para forçar o lançamento de tudo na partição swap de volta à memória?

Suponha que eu tenha memória suficiente.

margarida
fonte

Respostas:

19

A partir desta pergunta do Ubuntu :

Você também pode limpar sua troca executando swapoff -ae, em seguida, swapon -acomo root, em vez de reiniciar, para obter o mesmo efeito.

Portanto:

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

Como observado em um comentário, se você não tiver memória suficiente, swapoffresultará em erros de "falta de memória" e nos processos de eliminação do kernel para recuperar a RAM.

Renan
fonte
3
Explicando isso ainda mais, se você não tiver RAM disponível suficiente swapoff, resultará em erros de falta de memória e o kernel começará a matar processos para recuperar alguns. Use isso com cuidado.
bahamat
Melhor espero que sim; linux se comporta muito divertida quando você ficar sem memória, sem troca de ativos em toda ...
Shadur
1

Como observado, simplesmente desativar todas as trocas fará com que o kernel comece a matar coisas se não tiver memória livre suficiente. Se você deseja evitar isso, crie um segundo conjunto de trocas primeiro. Então:

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

Isso ainda será trocado em tudo, mas se não houver espaço suficiente, ele será deslocado para o segundo dispositivo de troca em vez de matar coisas aleatoriamente. Então basta mudar tudo de volta.

Perkins
fonte
0

Uma linha:

sudo bash -c 'swapoff -a && swapon -a'
karlingen
fonte