Какой должен быть раздел подкачки, и нужен ли он вообще?

swap

Какой должен быть раздел подкачки(swap)? Должен ли swap быть в два раза больше размера ОЗУ или наоборот половины размера ОЗУ? Нужно ли вообще его создавать, если в моей системе есть несколько ГБ ОЗУ?

Это наиболее часто задаваемые вопросы о выборе размера подкачки при установке Linux.

Здесь нет ничего нового. Всегда было много путаницы вокруг размера подкачки.

В течение долгого времени считалось, что рекомендуемый размер swap должен быть вдвое меньше размера RAM, но это золотое правило больше не применимо к современным компьютерам. У нас есть системы с объемом оперативной памяти до 128 ГБ, у большинства старых компьютеров, даже нету такого жесткого диска.

128gb ram

Но какой размер подкачки вы выделите системе с 32 ГБ ОЗУ? 64GB? Это была бы смехотворная трата жесткого диска, не так ли?

Прежде чем мы увидим, какой должен быть размер подкачки, давайте сначала узнаем что же это такое. Эта информация поможет вам понять, почему используется swap.

Что такое swap(раздел подкачки, файл подкачки)?

При запуске приложения ваша система использует память произвольного доступа (RAM). Если работает мало приложений, ваша система справляется с доступной оперативной памятью.

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

Swap действует как передышка для вашей системы, когда оперативная память исчерпана. И когда это происходит, ваша система Linux использует часть памяти на жестком диске и выделяет ее в текущее приложение.

Это звучит здорово. Это означает, что если вы выделите 50% размера swap, ваша система сможет одновременно запускать сотни, или возможно, тысячи приложений? Но это не совсем так.

Понимаете, здесь важна скорость. Данные доступа к ОЗУ исчисляются в наносекундах. И например, если сравнивать, то в SSD(твердотельный накопитель) – доступ в микросекундах, а если это обычный жесткий диск – данные измеряются в миллисекундах. Это означает, что оперативная память в 1000 раз быстрее, чем SSD, и в 100 000 раз быстрее, чем обычный жесткий диск.

Если приложение слишком сильно полагается на раздел подкачки, его производительность ухудшится, поскольку оно не сможет получить доступ к данным с той же скоростью, что и в ОЗУ. Поэтому вместо того, чтобы выполнить задачу за 1 секунду, для выполнения одной задачи может потребоваться несколько минут. Это сделает приложение практически бесполезным.

Другими словами, небольшой обмен полезен, а уже много будет бесполезно.

Зачем нужен swap(раздел подкачки)?

Если в вашей системе, установлена оперативная память менее 1 ГБ, вы просто обязаны использовать swap, поскольку большинство приложений очень быстро заберут себе эту память.
Если ваша система использует ресурсо-затратные приложения, такие как видеоредакторы, было бы неплохо использовать немного подкачки, так как ваша оперативная память очень быстро израсходуется.
Если вы используете спящий режим, то вы должны использовать больше swap, потому что содержимое ОЗУ будет перемещено в раздел подкачки. Это также означает, что размер подкачки должен быть, по крайней мере, равен размеру ОЗУ.

Нужен ли вам swap, если у вас много оперативной памяти?

Это действительно хороший вопрос. Если у вас 32 ГБ или 64 ГБ ОЗУ, скорее всего, ваша система, возможно, никогда не будет использовать всю оперативную память и, следовательно, никогда не будет использовать раздел подкачки.

Но я все же думаю что она нужна. Я предполагаю, что если ваша система имеет 32 ГБ оперативной памяти, она также должна иметь жесткий диск объемом где-то 100 ГБ. Выделение пары гигабайт для раздела подкачки не повредит. Это обеспечит дополнительный уровень стабильности, если неисправная программа начнет злоупотреблять ОЗУ, и если вы захотите перевести компьютер в режим сна.

Но можно ли вообще обойтись без раздела подкачки?

Да, вы можете, особенно если в вашей системе установлено много оперативной памяти. Но, как объяснялось в предыдущем разделе, немного swap всегда рекомендуется.

Какой должен быть раздел подкачки?

Теперь возникает большой вопрос. Какой должен быть идеальный раздел подкачки?

И проблема здесь в том, что нет определенного ответа на этот вопрос об изменении раздела подкачки. Есть только общие рекомендации.

У разных людей свое мнение относительно идеального размера swap. Даже основные дистрибутивы Linux не имеют одинакового руководства по размеру swap.

Если вы прочитаете предложение Red Hat, то они рекомендуют что размер подкачки должен составлять 20% оперативной памяти для современных систем (то есть для 4 ГБ или выше ОЗУ).

В CentOS например, предлагают в два раза больше раздел подкачки чем ОЗУ, если ОЗУ меньше 2 ГБ

Ubuntu имеет совершенно другую перспективу по размеру swap, поскольку они учитывают спящий режим. И если вам нужен спящий режим, то в Ubuntu рекомендуют чтобы swap был равен ОЗУ.

Но если вам не нужен спящий режим,и если оперативной памяти больше 1 ГБ, размер подкачки должен быть как минимум равным квадратному корню от объема ОЗУ и не более чем в два раза больше ОЗУ

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

Какой размер подкачки вы используете в своей системе? Напишите пожалуйста в комментариях ниже.

Поділіться своєю любов'ю

Залишити відповідь

9 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
All

Вообще не использую. Имея 6 Гб оперативки, обхожусь без таковой. Испытано на диске с 4-мя дистрибутивами Linux. Я не использую ресурсоемких приложений.

romantika

2Гб оперативки и 2Гб подкачки, но вообще жизнь боль…

Gurom

Автору моего любимого сайта linuxthebest хочу предложить обсудить тему создание в RAM виртуального диска и переноса туда кеша (например браузера) , что значительно уменьшает нагрузку (количество перезаписей) на SSD и приятным бонусом увеличивает скорость браузера.

Я сам использую SSD 120 GB а в компе у мена 16 GB RAM. Думаю выделение 2-4 GB для виртуального диска будет разумным.

Что вы думаете?

UALinux

Спасибо. Обязательно сделаем когда будет время.

Дмитрий

Раньше рекомендуемый размер swap должен был быть вдвое БОЛЬШЕ размера RAM. Во всех руководствах именно так рекомендовалось.

Halyluya

Чистая имха. Если у вас 2Гб оперативы (или меньше) и используете современные ОС(и не спецом облегченное) + современное ПО. Ваша жизнь – боль. Пользоваться можно, работать можно, но в медитативном режиме, неспешно прихлебывая чаек после пары телодвижений мышкой. Современный компьютер (даже чисто офисная печатная машинка) должен иметь минимум 4Гб оперативки и на всякий случай 4-8Гб подкачки. Этого должно хватить с запасом, на очередные обновления виндовса, на набор электрон прог и… Читати далі »

UALinux

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

Halyluya

а, да. совсем забыл про это.
Спасибо за уточнение. Тем кто пользуется – действительно нельзя отключать.
Сам просто не юзал никогда. При наличие ССД полная загрузка занимает ~20 секунд, смысла нет в гибернации.

Добрий+вуйко

Треба розрізняти Linux та Windows – у них зовсім різні підходи до використання RAM & swap !!! У мене зараз відносно новий ПК з 8ГБайт ОЗУ при інсталяції вінди по замовчуванню вона запросила 12ГБайт на свап файл – таке неподобство було відразу поправлене – максимум 2ГБайна свап. Linux більш інтенсивно використовує ОЗУ, і його можна налаштувати що до свап він буде звертатися коли наприклад в системі залишиться 5-10% вільної ОЗУ… Читати далі »

9
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x