Разрешить, но запретить подкачку в Ubuntu

Разрешить, но запретить подкачку в Ubuntu

Есть обильные посты о полном отключении подкачки Ubuntu. Можно ли сказать Ubuntu разрешить, но запретить использование подкачки?

Я установил Xubuntu на ноутбук с 1Gb RAM и небольшим SSD, превратив его в сервер Samba. В худшем случае свободной памяти все еще хватит для всех данных из файла подкачки:

~$ free -m
            total       used       free     shared    buffers     cached
Mem:           991        696        294         17         66        175
-/+ buffers/cache:        454        536
Swap:         1952        107       1845

Я хочу предостеречь от использования swap при наличии свободной памяти, поскольку swap выполняет много операций ввода-вывода, которые быстро ухудшают работу SSD.

Можно ли сделать оперативную память приоритетнее подкачки или выбор ограничен "вкл/выкл подкачки"? Какие побочные эффекты это вызывает, если они есть?


Спасибо за указание на существующие ответы, они важны, но их трудно найти. Пользователь должен знать 90% ответа, чтобы искать "как настроить swappiness". На вопрос дан ответ. Надеюсь, этот заголовок вопроса поможет индексации.

решение1

Если у вас не очень старый SSD, то более-менее современные SSD могут справиться с большим объемом записи, так что вам на самом деле не нужно ничего делать, если у вас более-менее современный SSD.

Если вы все еще хотите уменьшить подкачку, уменьшите swappiness(минимальное значение в современных Linux — 1, а не 0, если вы хотите выложиться по полной, хотя 10это рекомендуемый минимум и 60значение по умолчанию в Ubuntu). Это может значительно замедлить работу (вплоть до того, что система может зависнуть на некоторое время, если будет сильно загружена память), когда подкачка наконец начнется, поскольку заранее будет выгружено мало или вообще ничего.

Чтобы установить swappiness, замените 10ниже на swappinessнужное вам, 1чтобы 100, где более низкие значения меняются реже. Откройте терминал (нажмите Ctrl+ Alt+ T) и выполните:

sudo sysctl vm.swappiness=10
sudo nano /etc/sysctl.conf

Теперь добавьте строку внизу (или, если vm.swappinessстрока уже есть, отредактируйте ее):

vm.swappiness = 10

Нажмите Ctrl+ Oдля сохранения. Нажмите Ctrl+ Xдля выхода nano. Закройте окно терминала.

Связанный контент