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

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

[TOC Swap в Linux]

Что такое 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
field_vote: 
Ваша оценка: Нет Средняя: 3.9 (30 оценки)
Главная тема: 
Дистрибутивы: 

Комментарии

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

Оценка: 
Средняя: 4.4 (5 оценки)

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

Оценка: 
Средняя: 5 (4 оценки)

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

Оценка: 
Средняя: 5 (2 оценки)

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

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

Оценка: 
Средняя: 5 (1 оценка)

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

Оценка: 
Средняя: 5 (2 оценки)

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

Оценка: 
Пока без оценки

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

Оценка: 
Пока без оценки

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

Оценка: 
Пока без оценки

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

Оценка: 
Средняя: 3.3 (3 оценки)

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

Оценка: 
Пока без оценки

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

Оценка: 
Средняя: 2.3 (3 оценки)

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

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

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

Оценка: 
Средняя: 4 (4 оценки)

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

Оценка: 
Средняя: 2 (4 оценки)

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

Оценка: 
Средняя: 5 (2 оценки)

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

Оценка: 
Средняя: 4 (4 оценки)

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

Оценка: 
Пока без оценки

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

Оценка: 
Средняя: 4 (2 оценки)

для Винды, которая загружается по несколько минут

Моя win10 на SSD загружается за 4-5 сек.

Оценка: 
Пока без оценки
comrade аватар

Иии...? У меня линуксы на ссд загружаются за те же секунды :)

К чему Ваш комментарий? Человек же правильно написал, что в том виндовсе, который долго грузится (с HDD), имеет смысл пользоваться спящим режимом.

Вы что – на ссдшке спящий режим интенсивно используете? Не жалко ссдшку?
Или Вы хороших денег отстегнули на ссдшку с большим ресурсом, и теперь из принципа её ёрзаете?
:-)))

Оценка: 
Пока без оценки

Человек же правильно написал, что в том виндовсе, который долго грузится (с HDD)

Не знаю о каком комментарии Вы пишите. Я брал цитату из коммента в котором HDD не упоминался.))

Оценка: 
Средняя: 1 (1 оценка)
comrade аватар

Думаете, человек перфокарты имел в виду?
;-)

Вообще-то, это Вы там у себя передёрнули…
Было:

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

Куда

хороша спячка

делась?

Да, достаточно часто бывает, что виндовс долго грузится. Тогда полезен спящий режим (или, лучше, виндовс нормально настроить:-)
Комментатор же не пишет, что виндовсы грузится по две или по пять минут на всех компьютерах! Ваш пример опроверг бы именно такое утверждение. А так – всё правильно написано.

Оценка: 
Пока без оценки

Уж года три swap вообще не использую, ноут и комп только быстрее работают, нехватки памяти нет, хотя ее в обоих компах по 4гб. Главное - не использовать хром!

Оценка: 
Средняя: 4 (1 оценка)

Сложно коментарии читать на мобильной версии, текст уходит за рамку комента

Оценка: 
Средняя: 5 (1 оценка)

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.