Вы также можете установить значение "swappiness" по умолчанию, равное 60, таким образом, своп с самого начала не будет таким большим. Почему значение по умолчанию для доставки равно 60, когда рекомендуемое значение равно 10, меня озадачивает. Из базы данных Ubuntu SwapFAQ:
Значение по умолчанию в Ubuntu - swappiness=60. Уменьшение значения swappiness по умолчанию, вероятно, улучшит общую производительность для типичной настольной установки Ubuntu. Рекомендуется значение swappiness=10, но не стесняйтесь экспериментировать.
Изменив это значение на 10 или даже 0, вы можете значительно и ощутимо повысить скорость работы старой системы с медленным приводом. Установка этого значения в 0 не отключает swap для ядра Linux 3.4 и ниже, но с 3.5 + это происходит, поэтому вы захотите использовать значение 1, если хотите сохранить его на самом низком уровне *.
Я не вижу причин не устанавливать это значение равным 0, поскольку все, что попадает на диск, работает медленнее, чем оперативная память. У меня есть 8 виртуальных ядер, быстрый SSD и 8 ГБ памяти, а моя подкачка установлена на 0. На данный момент у меня запущено 3 виртуальные машины, мое использование памяти составляет 7,1 из 7,7 ГБ, моя используемая подкачка составляет всего 576 КБ из 952 МБ, и все системы работают без сбоев!
Из базы данных Ubuntu SwapFAQ:
Параметр swappiness управляет тенденцией ядра перемещать процессы из физической памяти на диск подкачки. Поскольку диски работают намного медленнее оперативной памяти, это может привести к замедлению времени отклика системы и приложений, если процессы слишком активно перемещаются из памяти.
- возможность замены может иметь значение от 0 до 100
- swappiness=0 указывает ядру избегать подкачки процессов из физической памяти как можно дольше
- swappiness=100 указывает ядру на агрессивную замену процессов из физической памяти и перемещение их в кэш подкачки
Ниже приведены основные инструкции по проверке подкачки, очистке вашей подкачки и изменению подкачки на 0:
Чтобы проверить значение подкачки:
cat /proc/sys/vm/swappiness
Чтобы временно установить swap на 0 (как было предложено SpamapS):
Это очистит вашу подкачку и перенесет всю подкачку обратно в память. Сначала убедитесь, что у вас достаточно доступной памяти, просмотрев вкладку ресурсов gnome-system-monitor, ваша свободная память должна быть больше, чем используемая вами подкачка. Этот процесс может занять некоторое время, используйте gnome-system-monitor для отслеживания и проверки прогресса.
sudo swapoff --all
Чтобы установить новое значение равным 0:
sudo sysctl vm.swappiness=0
Чтобы снова включить swap:
sudo swapon --all
Чтобы навсегда установить swappiness равным 0:
sudoedit /etc/sysctl.conf
- Добавьте эту строку
vm.swappiness = 0
sudo shutdown -r now
# перезагрузить систему
* В версии ядра 3.5+ установка swappiness на 0 полностью отключает его, и рекомендуется установить значение 1, если вы хотите использовать алгоритм с наименьшей подкачкой. источник: https://www.percona.com/blog/2014/04/28/oom-relation-vm-swappiness0-new-kernel/