Яку команду можна використовувати, щоб примусити звільнити все в розділі swap назад у пам'ять?


12

Яку команду можна використовувати, щоб примусити звільнити все в розділі swap назад у пам'ять?

Припустимо, що у мене достатньо пам’яті.

Відповіді:


19

З цього питання задайте Ubuntu :

Ви також можете очистити свій swap, запустивши swapoff -aі потім swapon -aяк root замість перезавантаження, щоб досягти того ж ефекту.

Таким чином:

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

Як зазначається в коментарі, якщо у вас недостатньо пам'яті, swapoffце призведе до помилок "поза пам'яттю" та до процесів вбивства ядра для відновлення оперативної пам'яті.


3
Пояснюючи це далі, якщо у вас недостатньо доступної оперативної пам’яті, swapoffце призведе до помилок пам'яті, і ядро ​​почне вбивати процеси, щоб відновити деякі. Використовуйте це з обережністю.
Багамат

Краще сподіватися так; Linux поводиться досить кумедно , коли ви біжите з пам'яті, без активного обміну на всіх ...
Shadur

1

Як зазначалося, просто дезактивація всіх свопів призведе до того, що ядро ​​почне вбивати речі, якщо у нього недостатньо вільної пам'яті. Якщо ви хочете цього уникнути, спершу створіть другий набір свопів. Тоді:

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

Це все-таки поміняється місцями у всьому, але якщо не вистачить місця, він перейде на другий пристрій заміни, а не випадково вбиває речі. Тоді просто перекладіть все назад.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.