Perintah apa yang dapat digunakan untuk memaksa melepaskan semua yang ada di partisi swap kembali ke memori?

12

Perintah apa yang dapat digunakan untuk memaksa melepaskan semua yang ada di partisi swap kembali ke memori?

Anggap saya punya cukup memori.

bunga aster
sumber

Jawaban:

19

Dari ini, tanyakan pertanyaan Ubuntu :

Anda juga dapat menghapus swap dengan menjalankan swapoff -adan kemudian swapon -asebagai root alih-alih me-reboot untuk mencapai efek yang sama.

Jadi:

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

Seperti disebutkan dalam komentar, jika Anda tidak memiliki cukup memori, swapoffakan mengakibatkan kesalahan "kehabisan memori" dan pada proses pembunuhan kernel untuk memulihkan RAM.

Renan
sumber
3
Jelaskan lebih lanjut, jika Anda tidak memiliki cukup RAM yang tersedia swapoffakan menghasilkan kesalahan memori dan kernel akan mulai mematikan proses untuk memulihkan beberapa. Gunakan ini dengan hati-hati.
bahamat
Harapan yang lebih baik demikian; linux berperilaku cukup meriah ketika Anda kehabisan memori tanpa swap aktif sama sekali ...
Shadur
1

Seperti disebutkan, cukup menonaktifkan semua swap akan menyebabkan kernel mulai membunuh sesuatu jika tidak memiliki cukup memori bebas. Jika Anda ingin menghindari itu, buat set swap kedua terlebih dahulu. Kemudian:

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

Ini masih akan bertukar dalam segala hal, tetapi jika tidak ada ruang yang cukup, itu akan dialihkan ke perangkat swap kedua alih-alih membunuh secara acak. Kemudian geser saja semuanya kembali.

Perkins
sumber
0

Satu-liner:

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