Что такое раздел подкачки в Linux? Все, что вам нужно знать
Linux

Что такое раздел подкачки в Linux? Все, что вам нужно знать

Большинство систем Linux предполагают наличие раздела подкачки. Для чего нужен раздел подкачки? Вот что вам нужно знать

Большинство установок Linux рекомендуют включать раздел подкачки. Это может показаться странным пользователям Windows, привыкшим к тому, что вся операционная система находится на одном разделе

Для чего нужен раздел подкачки, нужен ли он вообще, и какого размера он должен быть? Это все важные вопросы, правильные ответы на которые могут серьезно повысить производительность вашей системы

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

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

Это может показаться простым способом увеличить объем полезной памяти компьютера без увеличения объема оперативной памяти, но это не так. Оперативная память – идеальное оборудование для памяти, потому что она чрезвычайно быстрая, в отличие от жестких дисков, которые, относительно говоря, намного медленнее

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

Близким аналогом раздела подкачки является файл страниц Windows, хотя между ними есть много технических различий

Раздел подкачки в Linux не ограничивается использованием в качестве дополнительного места для хранения данных. Он может помочь вашему компьютеру и другими способами

Расстановка приоритетов

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

Порог того, что считается ‘редким’, зависит от ‘swappiness’ (да, это реальный термин), который настраивается. Более высокая swappiness означает, что данные с большей вероятностью будут перемещены в раздел подкачки. Более низкая swappiness означает, что данные с меньшей вероятностью будут перемещены в раздел подкачки

Гибернация

Раздел подкачки используется в качестве места назначения содержимого вашей памяти всякий раз, когда вы говорите системе впасть в спячку. Это означает, что без раздела подкачки гибернация в Linux невозможна

Тем не менее, люди стали довольно редко использовать функцию гибернации, поэтому для вас это может не иметь значения

Нужен ли вам раздел подкачки?

Значит ли это, что раздел подкачки необходим? Вовсе нет! Система Linux может прекрасно работать и без раздела подкачки. Мы уже обсудили преимущества раздела подкачки. Теперь, почему вы не хотите его иметь?

Когда разделы подкачки не помогают

У своп-разделов есть свои недостатки. Они занимают место на жестком диске, размер которого не изменяется динамически, когда он не используется. Сильное использование разделов подкачки также может увеличить износ основного диска. В некоторых случаях разделы подкачки даже не помогают повысить производительность. Вот пример, когда наличие раздела подкачки может быть хуже, чем его отсутствие

Допустим, вы установили Linux на старый нетбук с 2 Гб оперативной памяти и жестким диском 5400 об/мин. При объеме памяти всего 2 ГБ можно представить, как быстро она заполнится при нескольких открытых вкладках браузера. Раздел подкачки позволяет держать их все открытыми по мере переполнения памяти

Но затем появляется узкое место из-за скорости вращения жесткого диска 5400 об/мин. Поскольку жесткий диск настолько медленный, а система постоянно хочет получить доступ к разделу подкачки, нетбук становится чрезвычайно медленным. Машина работает настолько медленно, что становится непригодной для использования, если не закрыть все, чтобы освободить немного памяти

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

Что происходит, когда у вас нет раздела подкачки

Если вы решили отказаться от раздела подкачки, знайте о рисках. Когда компьютеру требуется больше оперативной памяти, чем доступно, интерфейс может заблокироваться. Вы рискуете принудительно завершить работу компьютера и потерять все данные, над которыми вы работали

В таких случаях вы можете пожалеть, что у вас нет раздела подкачки, даже если он используется всего один раз. Это зависит от того, часто ли вы сталкиваетесь с нехваткой места для хранения данных. Заметили бы вы, если бы у вас было на 4 ГБ меньше места для хранения, потому что вы выделили это количество под раздел подкачки?

Рекомендации по использованию свопа в Linux

Вот несколько рекомендаций о том, когда вам может понадобиться раздел подкачки и какого размера он должен быть

  • Если вы хотите иметь возможность переводить компьютер в спящий режим , то вам следует иметь раздел подкачки. Размер этого раздела должен быть равен объему установленной памяти, плюс еще 10-25%, чтобы оставить место для элементов, которые уже были перенесены в раздел подкачки.
  • Просто хотите получить небольшой прирост производительности (и у вас есть жесткий диск со скоростью вращения шпинделя не менее 7200 об/мин)? Тогда вы можете добавить раздел подкачки, если хотите. Его размер может быть любым, но я бы не стал делать его больше, чем при создании раздела подкачки для включения спящего режима.
  • Если вы иногда используете тяжелые приложения , которым требуется дополнительная оперативная память, раздел подкачки может послужить для спокойствия. В этом случае раздел подкачки не должен быть таким же большим, как оперативная память.
  • Если у вас жесткий диск со скоростью вращения шпинделя 5400 об/мин, то вы можете не создавать раздел подкачки просто потому, что это узкое место может ухудшить работу вашего компьютера. Но если вам обязательно нужен раздел подкачки, то вы все равно можете создать раздел, используя те же рекомендации по размеру, которые описаны выше. Только не забудьте изменить значение swappiness на более низкое.

 

Изменение значения Swappiness

Как и многие другие аспекты рабочего стола Linux, swappiness вашего компьютера хранится в текстовом файле. Вы можете найти этот файл, перейдя по адресу /proc/sys/vm

Когда вы откроете этот файл, вы увидите одно число, обозначающее текущий уровень подкачки. Вы можете редактировать этот файл с помощью любого текстового редактора по вашему выбору, если у вас есть права root

Чтобы сделать это с помощью текстового редактора GNOME, установленного по умолчанию в Ubuntu и Fedora, вы можете попробовать:

sudo gedit /proc/sys/vm/swappiness

Существует также опция командной строки, которая работает независимо от того, какой текстовый редактор у вас установлен. Просто введите:

sudo sysctl vm.swappiness=20

Вы можете ввести любую цифру в диапазоне от 0 до 100. Значение указывает, когда вы хотите, чтобы Linux начал активно перемещать процессы из памяти в раздел подкачки. Например, значение 20 означает, что процессы будут перемещены, когда использование памяти достигнет 80%; значение swappiness по умолчанию в Ubuntu 60 означает, что процессы будут перемещены, когда использование памяти достигнет 40%

Вы можете проверить, было ли изменение успешным, снова открыв этот текстовый файл. Неудивительно, что терминал предлагает более быстрый способ проверки swappiness. Просто введите эту команду:

cat /proc/sys/vm/swappiness

Чувствует ли ваш компьютер себя быстрее?

Разделы подкачки могут существенно повлиять на производительность вашей системы – иногда в лучшую, а иногда в худшую сторону. Теперь, когда вы знаете, для чего нужен раздел подкачки, надеюсь, вы лучше подготовлены к принятию решения, подходящего для вашей ситуации

Но прежде чем переразбивать диск, знайте, что управление памятью – это не только объем оперативной памяти и размер раздела подкачки в Linux. Уделите время изучению того, как Linux управляет оперативной памятью

Об авторе

Алексей Белоусов

Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

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

Оставить комментарий