Оптимальный размер swap в Linux для современных компьютеров

Казалось бы, вопрос об оптимальном объеме области подкачки обсуждался миллион раз. Но находятся пользователи — преимущественно поклонники Linux Mint — которые до сих пор ничего не соображают по этому вопросу. Выясним оптимальный размер swap и заодно развенчаем некоторые мифы.

Что такое swap раздел?

SWAP — это часть виртуальной памяти. Некоторые неактивные страницы в оперативной памяти могут на время перемещаться на диск. Делается это для освобождения RAM, чтобы дать возможность активным программам работать более эффективно. Как только программа выходит из анабиоза, страницы с диска возвращаются в ОЗУ.

Что такое раздел подкачки?

Своп в файле — весьма неэффективно решение, так как файлы могут фрагментироваться. А отдельные разделы на диске не могут. Поэтому под swap в Linux можно и нужно заводить специальные разделы. Делать это лучше на этапе установки и разбиения диска. Можно и после, но тогда придется двигать разделы и бэкапить данные.

Как посмотреть размер swap?

Командой free. Значение переменной virtual и будет искомой величиной.

Как создать swap в Linux?

mkswap /dev/sda2
swapon /dev/sda2

Осторожно! sda2 — это для примера. Указывайте точное название swap-раздела для своего компа, иначе потеряете данные.

Swap всегда высчитывается по формуле 2 x RAM

Не всегда. Например, на некоторых серверах установлено 256 Гб ОЗУ. Своп в 512 Гб не только не нужен, но иногда физически не помещается на SSD.

У меня современный комп, много ОЗУ, мне swap не нужен

Нужен. Не все программы для Linux безупречно оптимизированы. Даже если ваш компьютер имеет 8-16 Гб ОЗУ или более, всё равно может найтись программа, которая некорректно работает с памятью, да и старые добрые утечки никто не отменял. Если свопа нет и память будет исчерпана, компьютер перестанет отвечать и потребуется hard reset. Символический своп в 2-4 Гб позволит пережить такие неприятные ситуации.

Так какой объем под swap выделить?

Рекомендации различаются. Например, специалисты Red Hat рекомендуют использовать 20% от RAM, но при условии, что компьютер является современным. Под современным инженеры RH понимают такие, в которых установлено 4 Гб и более.

Разработчики CentOS рекомендуют другую формулу: удваивайте объем ОЗУ, если на компьютере 2 Гб и менее. Если более, используйте формулу: объем ОЗУ + еще 2 Гб. Например, в системе 4 Гб оперативной памяти, тогда создавайте своп на 6.

Программисты Canonical советуют диапазон: от квадратного корня из объема RAM до удвоенного значения. Это при условии, что памяти больше, чем 1 Гб. В противном случае удваивать память.

К кому прислушаться?

Лучше использовать усредненные значения:

RAM (Gb) Swap (GB)
1 1
2 1
3 2
4 2
6 2
8 3
12 3
16 4
24 5
32 6
64 8
128 11
Ваша оценка: Нет Средняя оценка: 4.3 (14 votes)

При своих 8гб ОЗУ отказался от своп в пользу zram. За 2 года ещё ни разу не столкнулся с нехваткой ОЗУ.

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
11
pomodor

У меня 16 Гб. Своп отключен. Но с нехваткой памяти уже столкнулся. И это не какой-то там ресурсоемкий спецсофт. 16 Гб скушал Chrome.

Ваша оценка: Нет Средняя оценка: 5 (4 votes)
a

А для спящего режима своп на данный момент также рекомендуется? Просто если ставить систему на SSD, для его долговечности своп — штука нежелательная.

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
11
pomodor

Для спящего режима отдельные требования и памяти для свопа требуется намного больше.

Про нежелательность свопа для SSD это правда, но следует отметить, что Linux достаточно хорошо оптимизирован для таких задач и износ минимален.

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
a

А zram (как замена свопу) в спящем режиме будет работать?

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
11
pomodor

A zram разве заменяет swap? Он сжимает данные в ОЗУ и тем самым сокращает количество сбрасываний данных в swap, но не исключает их полностью.

Ваша оценка: Нет
a

Понятно. Просто думал на ноут поставить SSD, раздел под swap не делать. Надеюсь, переход в спящий режим будет без "сюрпризов" :), хоть и swap рекомендуют создавать в таком случае.

Ваша оценка: Нет
a

А команда swapon -s показывает, что есть
/dev/zram0
/dev/zram1

Ваша оценка: Нет
6

Держу везде 10-ку, даже на серваке — где 128 ГБ, хватает за глаза, и это отдельный SSD, на PCIE!

Ваша оценка: Нет
3

А зачем вообще на линуксе спящий режим? Назовите, реальные плюсы от спящего режима в лине, про винду ни слова.

Ваша оценка: Нет
a

Если уходишь надолго от компа, лучше спячку включить, экономия энергии всё-таки.

Ваша оценка: Нет Средняя оценка: 1 (2 votes)
3

Если уходишь надолго от компа

лучше его выключить.

Я же просил плюсы для Линя, а вы мне плюсы для Винды. Это для Винды, которая загружается по несколько минут хороша спячка. Для Линя такой проблемы нет, за то время пока Вынь один раз загрузится Линь раз пять можно включить и выключить. Если вы скажете, что после выхода из спячки остаются открытыми программы и документы с которыми работали до спячки. Это, опять же, плюс для Венды, Линь можно выключить с сохранением сеанса и при включении все программы и документы откроются на тех же самых местах, что были до выключения. Так какие, всё таки, есть реальные плюсы от спячки для Линукса?

Ваша оценка: Нет Средняя оценка: 5 (3 votes)
a

Купил SSD, поставил минт 18 - загрузка ничем не быстрее чем на HDD. Так и не понял, в чем проблема. В спячку уйти не смог - зависал и отрубался вместо этого. Поставил винду семерку - результат офигенный! загрузка пустой винды 13 секунд (линь грузился около 40)!
Из минусов SWAP-раздела на SSD вижу один - износ. Дело в том, что на винде файл подкачки располагается в том же разделе, что и винда, а значит постоянно записывается в разных областях памяти всего раздела. В лине это отдельная область (например 2Гб), которая будет постоянно перезаписываться и быстрее всего деградирует.

Ваша оценка: Нет Средняя оценка: 2 (4 votes)
a

Вообще-то, в линуксе тоже подкачкой можно назначить файл.

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
11
pomodor

13 секунд? Позорище! У меня Убука на SSD загружается за 7 секунд.

Ваша оценка: Нет Средняя оценка: 5 (3 votes)
6

Да скорее всего, данный SSD базируется на дешевой NAND, оля... отрезки выбраковки от производства SD-cart, от нонейм производителя из Китая, или бракованный контроллер! Конечно - 13 секунд, это жесть:(

Ваша оценка: Нет
6

Swap, может писаться и в файл, а не на раздел - с Ubuntu 18.04!
А если, в наличии от 6Gb (RAM), так он вообще не нужен...

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.
Linux I класса
Linux II класса
Linux III класса
Счетчики
  • Самый популярный сайт о Linux и Windows 10
О Либератуме

Liberatum — это новости мира дистрибутивов Linux, обзоры, сборки, блоги, а также лучший сайт об Ubuntu*.