Что такое swap-раздел и для чего он нужен
Во время запуска программы ее код и некоторые данные загружаются в оперативную память (RAM, Random Access Memory). Если одна или несколько запущенных программ требуют меньше оперативной памяти, чем установлено на компьютере, то они продолжат нормально функционировать. Но, если в оперативной памяти осталось меньше свободного места, чем требуется программе для загрузки своих данных, то она выдаст ошибку и прекратит свою работу.
В такие моменты Linux начинает использовать swap-раздел на жестком диске в качестве оперативной памяти, “увеличивая” ее доступный объем - перемещает на него из оперативной памяти неиспользуемые в данный момент данные, освобождая место для новых.
Казалось бы, зачем тогда вообще нужна относительно дорогая оперативная память, если за те же деньги можно купить жесткий диск гораздо большего объема и использовать его весь в качестве swap-раздела? Все дело в скорости. Доступ к данным в оперативной памяти примерно в сто тысяч раз быстрее, чем на жестком диске (реальные данные варьируются в зависимости от системы). Одна и та же операция с доступом к данным в оперативной памяти и swap-разделе, на выполнение которой потребовалась бы одна секунда в первом случае, во втором займет много часов.
Таким образом, swap-раздел не подходит для постоянного использования в качестве оперативной памяти, но он может сильно помочь в пиковые моменты, предотвратив “зависание” и остановку работы программ.
Так сколько же места выделять для swap-раздела?
Невозможно определить четкий ответ на этот вопрос, потому что он зависит от конкретной конфигурации системы и спектра решаемых ей задач, но существуют базовые рекомендации:
если объем RAM меньше 2 гигабайт, то swap-раздел должен быть минимум в два раза больше
если объем RAM больше 2 гигабайт, то размер swap-раздела должен равняться RAM * 2 + 2Гб
если объем RAM больше 4 гигабайт, то размер swap-раздела должен равняться 20% от размера оперативной памяти