Как я могу отключить своп?

58

Swap делает мою систему вялой и отключает ее, делает все более плавным. Я имею 3.5 ГБ ОЗУ.

Я знаю, как отключить swap, введя sudo swapoff -a в терминале, но это только для текущего сеанса, потому что после перезагрузки swap снова включится. Есть ли способ полностью отключить своп?     

задан Alex Li 28.03.2014 в 15:06
источник

4 ответа

110

Могу ли я предложить более безопасный подход? Вы никогда не знаете, когда своп может спасти вас от сбоев. В то время как замена действительно замедляет работу вашего компьютера, если вы используете программу, которая потребляет всю вашу оперативную память, возможность обмена может спасти вас от жесткой перезагрузки. Когда компьютер начнет замену, вы заметите и сможете убить оскорбительное приложение.

Итак, вместо того, чтобы полностью отключить подкачку, просто убедитесь, что ваша ОС меняет very редко. Это определяется параметром vm.swappiness в /etc/sysctl.conf . Уставка Ubuntu по умолчанию - 60 , если я правильно помню, что слишком много для большинства ситуаций и заставит вас начать замену, даже когда RAM по-прежнему доступна. Если вы уменьшите это значение, вы сможете сохранить линию свопинга, только используя его для чрезвычайных ситуаций. Итак, откройте файл:

sudo nano /etc/sysctl.conf

И добавьте следующую строку:

vm.swappiness=10

Если это все еще слишком много, измените значение 10 на 1. Теперь, после перезагрузки, вы поменяетесь только когда это абсолютно необходимо, и вы можете просто забыть об этом.

    
ответ дан terdon 28.03.2014 в 16:00
41

Найдите строку в / etc / fstab, ссылаясь на swap, и прокомментируйте ее. Мой вот так:

UUID=6880a28d-a9dc-4bfb-ba47-0876b50e96b3 /               ext4    errors=remount-ro 0       1
UUID=7350e6f2-e3a7-4d80-9a95-8741c7db118f /home           ext4    defaults        0       2
UUID=E2E26AD1E26AAA0D /media/windows  ntfs    defaults,umask=007,gid=46 0       0

# Swap a usb extern (3.7 GB):
#/dev/sdb1 none swap sw 0 0

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

sudo cp /etc/fstab /etc/fstab_backup
gksu gedit /etc/fstab

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

ИЛИ

Попробуйте метод командной строки для комментирования записи свопинга в файле /etc/fstab ,

sudo sed -i.bak '/ swap / s/^\(.*\)$/#/g' /etc/fstab
    
ответ дан darent 28.03.2014 в 15:10
11

Просто удалите запись (или прокомментируйте ее, используя # перед строкой), из fstab и перезагрузитесь. Найдите строку со словом «swap» в ней.

sudo nano /etc/fstab
    
ответ дан mdalacu 28.03.2014 в 15:10
3

Неправильно .. Если systemd находит раздел SWAP на любом диске, он все равно будет авторизовать его. Странно, что никто не упоминал systemd. Решение в любом случае довольно простое; для окончательного отключения свопа вы должны:

  1. swapoff -a
  2. отредактировать / etc / fstab и прокомментировать любые записи подкачки, если настоящее время.
  3. run: sudo systemctl mask dev-sdXX.swap (где XX - это подкачка. Также полезно сделать это для всех возможных разделов, чтобы что если на любом другом диске есть раздел подкачки, это не будет монтаж)

Мир.

    
ответ дан Zibri 09.12.2017 в 20:58