Как отключить своп?

У меня есть несколько конфиденциальных данных в оперативной памяти, которые я предпочитаю не хранить на диске. Как отключить своп? У меня есть более чем достаточно оперативной памяти. Если оперативная память становится слишком высокой, у меня нет проблем с прекращением процессов. Как отключить обмен?

Примечание. У меня нет раздела подкачки, и он работает на виртуальной машине (VMWare)

85
задан 9 November 2012 в 04:30

7 ответов

Вы можете отключить подкачку после перезагрузки, просто закомментировав (добавив # перед строкой) запись подкачки в файле /etc/fstab. Это предотвратит автоматическое монтирование раздела подкачки после перезагрузки. Для этого выполните одну команду:

sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

или просто:

sudo sed -i '/ swap / s/^/#/' /etc/fstab

Теперь ваша запись свопинга на /etc/fstab будет выглядеть примерно так:

#UUID=xxxxxxxx-xxxx-xxxxx-xxx-xxxxxxxxxxx none            swap    sw              0       0
[ 118] С вашими конкретными цифрами и строчными буквами вместо букв "х".

0
ответ дан 9 November 2012 в 04:30

Использование

sudo swapoff -a  

- это обычный способ отключить своп, с помощью команды swapon -a, чтобы включить его снова. См. man swapoff для получения дополнительной информации об отключении подкачки для явных устройств.

0
ответ дан 9 November 2012 в 04:30
sudo swapoff -a

Приведенная выше команда отключает подкачку только для текущего сеанса , необходимо закомментировать раздел подкачки в файле / etc / fstab . Для этого вам просто нужно добавить «#» (строка комментария) в начало строки подкачки. Шаги:

  1. Открыть файл fstab, наберите sudo gedit /etc/fstab в терминале.

Содержимое файла будет выглядеть следующим образом:

proc            /proc           proc    nodev,noexec,nosuid 0       0
/host/ubuntu/disks/root.disk /               ext4    loop,errors=remount-ro 0       1
/host/ubuntu/disks/swap.disk none            swap    loop,sw         0       0
#/dev/sda10 /media/ASD  vfat    defaults    0   0
#/dev/sda1  /media/98   vfat    defaults    0   0
  1. Просто добавьте хеш (#) в начало строки раздела подкачки, чтобы строка выглядела как: [ 115]

#/host/ubuntu/disks/swap.disk none swap loop,sw 0 0

  1. Перезагрузите компьютер
0
ответ дан 9 November 2012 в 04:30

Если вас беспокоит содержание свопа, вы всегда можете отключить его, как указано обычным способом с помощью sudo swapoff -a, а затем заполнить своп-устройство нулями или случайными данными, используя dd.

Сначала используйте содержимое fstab, чтобы найти ваш файл подкачки или устройство (less /etc/fstab)

Обнаружив его, дважды и трижды проверив его местоположение, скажем, на sda5 или /swapfile (разделы подкачки были по умолчанию заменяется файлом подкачки в 17.04 и более поздних версиях.) .

В случае раздела или диска подкачки: (с предисловием / dev) введите команду «disk destroyer» (не использовать слегка)

sudo dd if=/dev/zero of=swap заменив слово swap на устройство или файл подкачки, расположенные в /etc/fstab

, чтобы заполнить его нулями или

sudo dd if=/dev/random of=swap снова заменив слово swap на устройство подкачки или файл, расположенный в /etc/fstab

, чтобы заполнить его случайными данными.

В случае файла подкачки (с предшествующим только путем): вы можете просто удалить файл с помощью rm /path/to/swapfile

В следующий раз, когда вы включите своп с помощью

swapon -a

Система с радостью воспользуется им снова. Если у вас достаточно оперативной памяти, вам может вообще не понадобиться своп. Выполните команду

free, когда система находится под большой нагрузкой, и посмотрите, сколько используется для этого определения.

Если вы решите, что вам постоянно не нужен своп (для режима гибернации или чего-либо еще), вы можете просто закомментировать эту строку в fstab, как предложено здесь

free

0
ответ дан 9 November 2012 в 04:30

Это может быть неудачное решение, но я часто использовал его. Вы можете просто набрать

sudo -s
crontab -e

и добавить

@reboot sudo swapoff -a  

Таким образом, он будет автоматически отключен при загрузке.

0
ответ дан 9 November 2012 в 04:30

Войдите в терминал и выполните эту команду: gnome-disks. Он не установлен во всех дистрибутивах. Если это так, следуйте инструкциям, напечатанным для его установки, и повторите попытку. Найдите устройство со словом «swap» на левой панели. Обычно он имеет такой же размер, как ваша физическая память. Нажмите квадратную кнопку, чтобы отключить его. Подтвердите это изменение с помощью пароля root.

Снимок экрана: http://imgur.com/Og6igqb

В приложении «Системный монитор» (gnome-system-monitor) вы увидите, что область свопинга отображается как «не имеется в наличии'. Область подкачки отключена, но не удалена. Вы можете легко включить его снова в будущем. Удаление пространства подкачки не принесло моей системе никакого вреда, но вы создадите больше работы для себя, если решите, что хотите вернуть ее (гибернацию) в будущем.

edit: чтобы предотвратить его монтирование при запуске, вы должны зайти в «Edit Mount Options ...» на gnome-disk и снять флажок «Mount at startup».

0
ответ дан 9 November 2012 в 04:30

Замените defaults на sw,noauto в строке, состоящей из записи подкачки в файле /etc/fstab:

/dev/mapper/centos-swap swap  swap    sw,noauto        0 0

(путь /dev/mapper/centos-swap, вероятно, отличается для вы).

Теперь проверьте вывод после перезагрузки, ваш своп никогда не будет смонтирован:

$ free -m
              total        used        free      shared  buff/cache   available
Mem:           3791         100        3408           8         282        3483
**Swap:             0           0           0**
0
ответ дан 9 November 2012 в 04:30

Другие вопросы по тегам:

Похожие вопросы: