• Главная
  • Контакты
  • Карта
Полезные советы для компьютера
  • Советы ПК
  • Технологическая помощь
  • Советы по настройке Wi-Fi роутеров
  • Все о windows
  • Все о компьютерных проблемах
No Result
View All Result
  • Советы ПК
  • Технологическая помощь
  • Советы по настройке Wi-Fi роутеров
  • Все о windows
  • Все о компьютерных проблемах
No Result
View All Result
Полезные советы для компьютера
No Result
View All Result

Особенности создания и подключения swap-файла в Linux

by admin
06.07.2023
in Советы ПК
0
Особенности создания и подключения swap-файла в Linux

Объём оперативной памяти в компьютере ограничен. Чаще всего из финансовых соображений, хотя и чисто технически в конкретную материнскую плату не установишь ОП больше, чем предусмотрено её спецификациями. А раз так, то ситуации, когда возникает нехватка памяти, нередки, особенно для многозадачных операционных систем. В их число входит и Linux, и хотя она считается менее требовательной к ресурсам ПК, идеальной её назвать тоже нельзя. Дефицит ОЗУ решается разными способами. Одним из самых оптимальных из них считается использование файла или раздела на диске, где временно хранятся данные, которые извлекаются в физическую память по мере необходимости.

Содержание:

Toggle
  • Что такое swap
  • Для чего нужен swap
  • Как создать и настроить файл подкачки на примере Ubuntu
    • Проверка наличия swap в Ubuntu
    • Проверка наличия свободного пространства на диске
    • Какого размера создать swap
    • Создание swap-файла в Linux
    • Как подключить swap-файл
    • Добавление swap в автозагрузку
    • Как очистить swap в Ubuntu

Что такое swap

В линуксоподобных ОС под свопом понимают механизм организации виртуальной памяти, при которой часть хранимых в ОЗУ данных (как правило, редко используемых), перемещается на временное хранение в специальный раздел или файл на жёстком или твердотельном диске.

Весь объём физической памяти в Linux разбивается на страницы. По мере необходимости содержимое отдельных страниц перемещается на выделенный раздел диска, именуемый swap space или на отдельный файл (аналог файла подкачки в Windows). Сама процедура освобождения ОП называется свопингом, а общий размер физической и swap-памяти – объёмом доступной виртуальной памяти.

 Особенности создания и подключения swap-файла в Linux

Для чего нужен swap

Многозадачность не означает одновременное открытие многих программ. Даже если мы запустим браузер, он сам по себе использует множество библиотек, каждая из которых использует свою область памяти. Каждая новая вкладка, каждый открытый документ – это всё новые и новые страницы памяти, которых в определённый момент времени может и не хватить.

И если для новой вкладки свободных страниц уже нет, операционная система вынуждена заняться освобождением памяти. А что освобождать, если все страницы заняты нужными данными или кэшем? Что используется реже. Но рано или поздно выгруженный кусочек кода понадобится, а его в памяти уже не окажется. Такая ситуация называется page fault, и ОС придётся её обрабатывать по новой. Если недостающие данные на диске не обнаружатся, процесс завершится аварийно. Если он есть, система загрузит код с диска, но для этого потребуется освободить энное количество других страниц памяти. В результате начинается процесс, называемый трэшингом, когда ОС только тем и занимается, что освобождает новые страницы, удаляя их содержимое и загружая в них недостающие данные.

 Особенности создания и подключения swap-файла в Linux

Наличие swap-файла как раз и решает эту дилемму. Вместо того, чтобы просто очищать страницы памяти, система сбрасывает их содержимое на диск, который как бы расширяет объём физического ОЗУ. При этом трэшинг заменяется на однократную процедуру чтения/записи.

Разумеется, мы описали процесс достаточно схематично, на самом деле он имеет множество нюансов и достаточно сложный алгоритм реализации. В любом случае картина получается следующая: если сделать swap-файл достаточно большим, редко используемые и неизменённые данные при возникновении дефицита из ОЗУ «уезжают» на диск, откуда могут по необходимости извлекаться столько раз, сколько нужно.

Если файл/раздел подкачки маленький, пользы от него будет немного, поскольку рано или поздно свободное место исчерпается и на нём, и тогда снова начнутся «пляски» с постоянными операциями записи-чтения в файл подкачки, из-за чего система будет сильно тормозить.

 Особенности создания и подключения swap-файла в Linux

Отвечая на вопрос о необходимости swap в Linux, можно утверждать следующее:

  • он помогает разгрузить систему, когда программа запрашивает объём физической памяти, которого в системе нет. В таких случаях ядро Linux анализирует, к каким страницам обращение происходит реже всего, сбрасывает их содержимое на диск и выделяет необходимое количество страниц текущему процессу;
  • особенность многих программ состоит в том, что в момент их запуска часть страниц оказывается занята данными, которые используются только в момент инициализации процесса/приложения. Система может и должна сбрасывать эти страницы в swap, разгружая ОП.

 Особенности создания и подключения swap-файла в Linux

Но не всё так просто. Swap тоже не лишён недостатков, главным из которых является скорость операций записи/чтения с диска. Достаточно сказать, что при операциях с физической памятью эта скорость измеряется в наносекундах (просто посмотрите характеристики чипов ОЗУ), а для жёсткого диска это миллисекунды, то есть на несколько порядков больше. У SSD-дисков скорости обмена данными намного больше, но из-за медленного интерфейса всё равно несравнимы с показателями ОЗУ. Вот и получается, что при частых сбросах страниц памяти в swap система тоже может работать медленнее.

Особенно часто такое случается, если компьютер используется в качестве сервера, а с Linux это большинство ПК. При нехватке памяти обычно в число первых пострадавших попадают базы данных, и если это MySQL, то его падение грозит недоступность сайта или его страниц, поэтому для серверов так важно иметь swap-раздел большого объёма – пускай лучше сайт будет работать медленнее, чем будет недоступен совсем.

Как создать и настроить файл подкачки на примере Ubuntu

Процедура создания файла подкачки достаточно сложная, требующая наличия определённых навыков работы с командной строкой.

И первый этап – нам нужно выяснить, имеется ли в системе раздел или файл, выделенный под swap.

Проверка наличия swap в Ubuntu

Используем команду:

swapon -s

 Особенности создания и подключения swap-файла в Linux

или

free –m

Если swap отсутствует, в первом случае вы получите пустую результирующую строку, во втором – таблицу использования виртуальной памяти, в которой строка Swap будет содержать нули.

 Особенности создания и подключения swap-файла в Linux

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

Проверка наличия свободного пространства на диске

Выполняем команду

df -h

Отобразится таблица примерно такого содержания:

 Особенности создания и подключения swap-файла в Linux

На диске порядка 23 ГБ свободного пространства, этого более чем достаточно для создания swap-файла.

Какого размера создать swap

Размер файла подкачки зависит от множества факторов:

  • сколько ОЗУ имеется в системе;
  • каков состав используемых программ/приложений;
  • намерены ли вы задействовать режим сна;
  • будут ли использоваться файлы с секретными данными.

Разумеется, главным аспектом является объём физической памяти. Если её меньше 2 ГБ, sawp-файл нужнее размером в 1,5-2 раза больше, то есть до 4 ГБ.

 Особенности создания и подключения swap-файла в Linux

Если у вас 3-4 ГБ ОЗУ, то определитесь сначала, будете ли вы использовать режим сна. Если да, объём файла подкачки желательно выбирать из расчёта 110-115% от объёма оперативной памяти, если нет – идеальным вариантом будет swap-файл такого же объёма.

Если у вас мощный компьютер и объём ОП превышает 6 ГБ, размер swap-файла в Linux выбирайте из расчёта половины объёма оперативной памяти. Если планируется использование режима гибернации, может потребоваться эксперимент для выяснения, сколько ОЗУ используется для режима сна и выбирать значение, исходя из полученных результатов. Благо сформировать файл подкачки можно в любой момент времени, не обязательно на этапе установки Linux.

 Особенности создания и подключения swap-файла в Linux

Рекомендуемые размеры swap-файла в Linux в документации Fedora

Создание swap-файла в Linux

Процедура создания файла подкачки в Linux имеет несколько вариантов, один из которых считается традиционным, а другой – ускоренным.

Для начала ознакомимся с быстрым способом, который заключается в использовании одной команды:

fallocate -l 2G /swapfile

 Особенности создания и подключения swap-файла в Linux

Здесь второй параметр указывает на размер создаваемого файла, выраженный в ГБ (если букву не указывать, система будет интерпретировать параметр в КБ, это нужно обязательно учитывать).

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

Второй вариант, традиционный:

dd if=/dev/zero of=/swapfile bs=1М count=2096

 Особенности создания и подключения swap-файла в Linux

Здесь параметр bs указывает, в каких единицах мы задаём размер одного блока для swap-файла. В данном случае – 1 мегабайт. Параметр count указывает на количество таких блоков, выделяемых под файл подкачки, и в сумме получаются те же 2 ГБ, как в первом варианте.

Сама команда dd в Linux обозначает побайтовое копирование, параметр if указывает, откуда копировать, в нашем случае это /dev/zero – специальный файл с нулевыми байтами. Параметр of указывает, что записывать эти нулевые байты мы будем в файл /swapfile.

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

 Особенности создания и подключения swap-файла в Linux

Если вы указали недостаточный размер файла подкачки (это может выясниться много позже), увеличить или просто изменить размер swap Ubuntu можно отключив текущий (как это сделать, мы расскажем позже) и создав его заново по приведённому здесь алгоритму с указанием правильного размера.

Как подключить swap-файл

Файл подкачки является важным с точки зрения операционной системы, и его редактирование может привести к её краху. Поэтому важно ограничить доступ к swap следующей командой:

chmod 600 /swapfile

 Особенности создания и подключения swap-файла в Linux

В результате право чтения и записи в него будет иметь только пользователь root (аналог admin в Windows).

Дальнейшая настройка swap-файла заключается в преобразовании /swapfile в файл подкачки с помощью команды

mkswap /swapfile

 Особенности создания и подключения swap-файла в Linux

И заключительная команда, действие которой заключается в подключении swap к системе (его включению):

swapon /swapfile

 Особенности создания и подключения swap-файла в Linux

Теперь он полностью готов к работе.

Добавление swap в автозагрузку

Чтобы после каждой перезагрузки не выполнять подключение файла подкачки к системе последней командой предыдущего раздела, вписываем в файл /etc/fstab с помощью любого текстового редактора строку, которая будет использоваться при каждой загрузке Linux:

/swapfile none swap defaults 0 0

 Особенности создания и подключения swap-файла в Linux

После перезагрузки компьютера можно проверить правильность срабатывания командой free –m.

 Особенности создания и подключения swap-файла в Linux

Как очистить swap в Ubuntu

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

Очистка swap (вернее, отключение) осуществляется командой

swapoff –a

 Особенности создания и подключения swap-файла в Linux

Включение производится командой

swapon -a

 Особенности создания и подключения swap-файла в Linux

СОВЕТ. Отключать swap таким способом не рекомендуется, поскольку данные просто обнуляются, без переноса в оперативную память. Если в числе удалённых данных окажутся те, которые используются системными процессами, может проследовать крах системы.

Если вы решили и вовсе отказаться от использования файла подкачки, удалить swap можно следующим образом:

cat /proc/swaps (определяем местоположение swap-файла)

 Особенности создания и подключения swap-файла в Linux

swapoff /dir/swapXXXXX (отключаем файл подкачки, здесь dir – это результат выполнения предыдущей команды, то есть директория с файлом, а swapXXXXX – имя самого файла подкачки)

rm /dir/swapXXXXX (удаляем файл с диска)

Если вы добавляли swap в автозагрузку, его нужно оттуда убрать, удалив соответствующую строчку в файле /etc/fstab (например, редактором gedit).

Но напомним, что без наличия swap-файла система может работать нестабильно, особенно при малом объёме оперативной памяти, поэтому удаление файла подкачки без создания нового настоятельно не рекомендуется.

Источник

Previous Post

Для чего нужна программа InstallPack, как ей пользоваться и удалить

Next Post

Как перекинуть контакты с айфона на компьютер

Next Post
Как перекинуть контакты с айфона на компьютер

Как перекинуть контакты с айфона на компьютер

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

No Result
View All Result

Свежие записи

  • Купить эпоксидную смолу для столешниц в Узбекистане выгодно
  • Auto Super Resolution в Windows 11 и как ее включить
  • Что такое функция IOMMU в UEFI и зачем она нужна античитам
  • Исправление флешки, которая приобрела RAW-формат
  • Как вручную получить и установить сертификаты Secure Boot 2023

© 2026 Все права защищены.

No Result
View All Result

© 2026 Все права защищены.