Как активировать swap файл

Обновлено: 07.07.2024

Если компьютер правильно оптимизирован, то он будет хорошо справляться со своей работой, даже при наличии не самого современного «железа». Если на ПК установлен небольшой объем ОЗУ, то следует определить правильный размер файла подкачки. Также его часто называют swap-файлом или просто swap. Многие пользователи не уделяют этому вопросу достаточно внимания. В результате компьютер не может продемонстрировать всю возможную производительность.

Назначение и принцип работы

В первую очередь необходимо понять, что значит «файл подкачки». На любом ПК установлен определенный объем ОЗУ (оперативная память). Здесь временно хранится информация и обеспечивается ее быстрая передача ЦПУ. Также данные находятся на жестком диске, но скорость их передачи значительно ниже в сравнении с ОЗУ. Сегодня в компьютер можно установить более быстрые накопители SSD, принцип работы которых существенно отличается от HDD.

Однако они обладают более высокой стоимостью и чаще всего используются только для установки ОС, чтобы ускорить загрузку ПК или требовательных приложений, например, игр. Какой бы накопитель ни был установлен на компьютере, при небольшом объеме оперативной памяти, пользователь должен знать, как настроить файл подкачки. Только в этом случае система будет работать с максимальной скоростью.

Swap — определенная область жесткого диска, используемая для временного хранения данных. Как только ОЗУ будет переполнена, операционная система начинает записывать важные данные в своп. Говоря проще, он выполняет роль оперативной памяти, но при этом скорость обмена информацией оказывается ниже.

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

Та часть софта, которая в данный момент необходима пользователю, остается в оперативной памяти и благодаря этому обеспечивается быстрая работа программ. Если объема оперативной памяти не хватает для хранения всей информации, то ее часть будет перенаправляться в swap-файл. Если он не настроен или вовсе отсутствует, то возможны различные проблемы с работой всей системы, вплоть до появления BSOD («синий экран смерти»).

Выбор размера

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

В результате возникают следующие неприятные моменты:

  • Так как скорость передачи данных у оперативной памяти выше даже в сравнении с накопителями типа SSD, то значительно снижается производительность всей системы.
  • Жесткий диск постоянно работает, что замедляет процесс выполнения его основных задач.

В результате проблема, как использовать файл подкачки и делать это правильно, становится крайне актуальной. Операционная система при настройках по умолчанию все делает самостоятельно, но это не позволяет хорошо оптимизировать работу компьютера. Следует помнить, что на размер swap оказывают влияние различные факторы.

Пользователям в этом вопросе стоит ориентироваться на объем установленной ОЗУ:

  • При 1 Гб — 2048 Мб.
  • Если установлено 2 Гб, то достаточно 1512 Мб.
  • При 4 Гб ОЗУ — 1024 Мб.
  • От 8 Гб swap-файл можно не использовать.
Если при наличии большого объема оперативной памяти исключить swap, то Windows будет всегда работать только с ОЗУ и это позволит повысить производительность системы. Так как при задании размера этого файла Windows запрашивает исходный и максимальный объем, то необходимо указывать две цифры, например, 1512 и 1512 Мб.

Такой подход к решению задачи связан с двумя основными факторами:

  • Значительно замедляется процесс фрагментации раздела HDD, на котором находится swap.
  • Windows не придется постоянно рассчитывать оптимальный объем зарезервированного места.

Изменение файла

Проблема, как поставить файл подкачки, актуальна для пользователей всех версий ОС Windows. Так как Windows XP и Vista сегодня уже не поддерживаются компанией Майкрософт, внимание стоит уделить только работе последних трех версий.

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

Самый простой способ увеличить количество оперативной памяти и защитить систему от переполнения памяти, это добавить раздел swap в Ubuntu. В этой статье будет рассмотрено как выполняется настройка swap в Ubuntu 20.04. Будет рассмотрен вариант с добавлением swap как на время работы устройства, так и на постоянное использование.

Обратите внимание

Хотя использование раздела подкачки на жестком диске HDD это привычное явление, применение такого метода для SSD может вызвать проблемы. SSD имеет ограниченное количество перезаписей одного сектора, а область swap постоянно перезаписывается, это очень сильно снизит срок службы вашего диска. Поэтому использование swap пространства на SSD строго не рекомендуется.

Что такое Swap?

Swap (так же известна как пространство подкачки) - это область на жестком диске, которая используется для временного хранения данных из оперативной памяти, для которых там больше нет места. Это позволяет увеличить объем информации, которую система может хранить в рабочей памяти. Пространство подкачки используется только тогда, когда память уже полностью занята, и туда будут помещаться только данные, которые давно использовались.

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

Проверка Swap

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

Если команда вернет строчку с названием swapfile, это означает что swap в системе уже присутствует:

qJQ2DxsvBYQAAAAASUVORK5CYII=

Если ничего не будет выведено, значит в системе swap не настроен:

A3cY5FQKomDiAAAAAElFTkSuQmCC

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

Строка со swap отображает значение 2,0 GB. Это означает что swap включен и будет использоваться 2 ГБ жёсткого диска, когда память будет переполнена:

wPh8SYp013UQwAAAABJRU5ErkJggg==

Если значения в разделе swap отображаются по нулям это значит, что раздел swap не подключен:

UBzAeNQ8JV+GsqUS+iVd7P8BIqvvLekDC5MAAAAASUVORK5CYII=

Настройка файла подкачки в Ubuntu 20.04

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

1. Проверка места на диске

Необходимо убедится, что на жёстком диске есть достаточно свободного места. Самый простой способ узнать количество свободного места в терминале – воспользоваться утилитой df:

+XxBVBSAALDlaAAAAAElFTkSuQmCC

В данном случае есть достаточно места для размещения и увеличения пространства подкачки. Размер swap в Ubuntu 20.04 зависит от потребностей. Обычно рекомендуют использовать объем в два раза больше, чем реальный размер оперативной памяти. Но как правило больше 4 Гб использовать не нужно. Если планируется использовать гибернацию на персональном компьютере, то нужно использовать объем, равный объему ОЗУ.

2. Создание файла подкачки

Самый быстрый способ создать swap файл в Ubuntu 20.04 – это использовать утилиту fallocate, она создает файл нужного размера мгновенно. Поскольку в качестве примера используется машина с 8 Гб оперативной памяти, необходимо добавить раздел подкачки на 3 Гб. Для этого необходимо выполнить команду:

sudo fallocate -l 3G /swapfile

SiSMholxvNzbOT14P8BylQiMlDAoy4AAAAASUVORK5CYII=

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

fBG1QUdPg9+33f4fgtonZcmABAAAAAElFTkSuQmCC

Активация swap

Когда файл готов, необходимо превратить его в файл swap. Сначала нужно заблокировать доступ к нему всем кроме суперпользователя. Для этого необходимо выполнить:

sudo chmod 600 /swapfile

Теперь только пользователь root может читать и изменить данный файл:

8HGmNHSI0QOR0AAAAASUVORK5CYII=

Далее необходимо создать файловую систему swap командой:

sudo mkswap /swapfile

wHzZy75GQ2mTwAAAABJRU5ErkJggg==

Когда файл будет размещен и промаркирован необходимо включить файл подкачки чтобы начать его использовать:

sudo swapon /swapfile

v9x1DKSlc9uMgAAAABJRU5ErkJggg==

После этого можно убедиться, что swap включен, выполнив команду:

ob4+lbrbVzVelggXPXzf8PzYN09Od4zasAAAAASUVORK5CYII=

Так же наличие swap можно проверить при помощи утилиты free, выполнив команду:

x+0OpXwVbrkTQAAAABJRU5ErkJggg==

Файл подкачки был успешно создан и активирован. Теперь памяти доступно больше и система не зависнет при нехватке оперативной памяти. Но данный способ будет работать только до перезагрузки устройства.

Постоянный файл подкачки

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

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

wUGkEFAhJkf4QAAAABJRU5ErkJggg==

Настройка раздела подкачки в Ubuntu 20.04

Настройка swap в Ubuntu 20.04 в виде раздела аналогична тем же методам, которые применяются для создания swap в виде файла, отличие только в том, что вместо файла используется раздел. Предположим, необходимо использовать раздел /dev/sda2. Сначала необходимо создать swap из обычного раздела:

sudo mkswap /dev/sda2

Далее активировать раздел подкачки:

sudo swapon /dev/sda2

И проверить все ли прошло правильно:

Если да, то в списке подключенных разделов отобразится нужный. Последним шагом остаётся добавить строку в /etc/fstab для автоматической активации после перезагрузки:

echo '/dev/sda2 none swap sw 0 0' | sudo tee -a /etc/fstab

Дополнительные настройки

Можно контролировать интенсивность использования пространства подкачки в Ubuntu 20.04 с помощью параметра ядра swappiness:

wMf6qQE4DRUfgAAAABJRU5ErkJggg==

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

Чтобы установить значение 10 необходимо выполнить команду:

sudo sysctl vm.swappiness=10

lP1App8xjPQAAAAASUVORK5CYII=

А для сохранения этой настройки после перезагрузки:

sudo sysctl -w vm.swappiness=10

w879gLuUtXoKgAAAABJRU5ErkJggg==

Другой параметр, который влияет на количество используемой памяти -vfs_cache_pressure. Он указывает системе какое время нужно хранить открытые файлы в кэше оперативной памяти. Значение 100 заставляет систему удалять такие файлы очень быстро, 0 - держать их в памяти как можно дольше. Проверить текущее состояние можно при помощи команды:

2IgWfMNN7QwAAAABJRU5ErkJggg==

Чтобы хранить файлы дольше, можно установить значение в 50 используя команду:

sudo sysctl -w vm.vfs_cache_pressure=50

B7v8POBFbt7CZog4AAAAASUVORK5CYII=

Выводы

С помощью данной инструкции можно на время решить проблему с пространством подкачки если серверу недостаточно памяти, или поможет предотвратить компьютер от зависания. Настройка swap в Ubuntu 20.04 выполняется очень просто. Если у вас остались вопросы, спрашивайте в комментариях!

Нет похожих записей

Оцените статью:

(29 оценок, среднее: 4,66 из 5)

Об авторе

40 комментариев

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

swapon: /swapfile: не удалось выполнить swapon: Недопустимый аргумент

swapon без двоеточия

Такое случается если раздел или файл отформатирован не правильно или там находится что-то лишнее.

ADMIN:
А что-ж Вы не упомянули про параметр --priority влияющей на паритет обращения к разделу и файлу swap ??

Если партишн, на котором создается файл отформатирован в btrfs - то свап, созданный таким образом, работать не будет.

А тот своп раздел что мы создаем при установке он что не рабочий получается?

Рабочий, только не все создают раздел подкачки при установке.

а что лучше файл или раздел?

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

А подскажи пожалуйста, как изменить размер swap-файла? У меня Ubuntu 17.04 x64. Просто работаю с тяжелыми программами и они всю память сжирают за считанные минуты, поэтому есть необходимость не много увеличить swap-файл.

Файл гибче, поскольку вы всегда можете изменить размер. Как изменить размер swap-файла? Ubuntu 16.04 x64.

Ну как сказать технология так называемой виртуальной памяти (которая кстати и в Windows NT используется) не заменит по быстродействию
настоящий RAМ . Тут ещё подбирать нужно кооф. swap т.к для тяжёлых приложений он нужен больше для сервера вообще отдельная песня.

ADMIN: В большинстве дистрибутивов установщик Аnaconda не начнёт установку или разметку HDD пока Вы не создадите swap раздел.
и я считаю это правильно чем позднее после установки уменьшать разделы на уже работающей системе . (:imho)

OS: Mint Linux 18 Cinnamon
Данная команда не сохраняет параметр после перезагрузки!
$ sudo sysctl -w vm.swappiness=10

Помогает только добавление параметра в файл /etc/sysctl.conf

Почитал статью, подумал подумал и решил отказаться от свап-раздела в угоду zram. Весь SSD отдал под корень с хомяком с ФС btrfs, затем sudo apt install zram-config и усё..

Вы советуете изменить значение интенсивности использования пространства подкачки с 60 на 10,
(этот вариант может сделать систему быстрее),
и параметр в vfs_cache_pressure со 100 на 50. Но не рассказали что дает изменение со 100 на 50.
Ответьте пожалуйста.

Вопрос интересный. Везде рекомендуют это значение наоборот увеличить если ОЗУ больше 2ГБ, но тут 1 ГБ. Вот типичное описание:
"В псевдофайле vfs_cache_pressure хранится значение - уровень выделяемой памяти под кэш. Значение по умолчанию: 100. Увеличение этого параметра заставляет ядро активнее выгружать неиспользуемые страницы памяти из кеша, т.е. количество выделяемой оперативной памяти под кеш будет расти медленнее, что в свою очередь снизит вероятность того, что будет задействован раздел swap. При уменьшении этого параметра ядро, наоборот, будет дольше держать страницы памяти в кеше, в том числе и в swap'е. Это имеет смысл при небольшом количестве ОЗУ, например, если у нас 512 МБ памяти, то параметр vfs_cache_pressure можно выставить равным 50. Это позволит сократить количество дисковых операций в swap разделе, так удаление неиспользуемых страниц будет происходить реже. Дальнейшее уменьшение этого параметра может привести к нехватке памяти.
Если вы хотите ускорить работу системы и у вас достаточно оперативки (2 Гб и более), то измените значение системы, так: swappiness = 10 , vfs_cache_pressure = 1000 (по умолчанию 100)"

Эта страница дает ознакомление с пространством подкачки и подкачкой страниц в GNU/Linux. Охватывает создание, активацию файлов и разделов подкачки.

Linux делит свою физическую RAM (оперативную память) на кусочки памяти, называемые страницами. Подкачка (swapping) это процесс, когда страницы памяти копируются на предварительно сконфигурированное пространство на жестком диске, называемое пространством подкачки, чтобы освободить эту страницу из памяти. Суммарный размер оперативной памяти и пространства подкачки это количество доступной виртуальной памяти.

Поддержка подкачки обеспечивается ядром Linux и утилитами в пользовательском пространстве из util-linux пакета.

Contents

Пространство подкачки

Пространство подкачки может быть разделом диска или файлом. Пользователи могут создать пространство подкачки во время установки или позднее в любое желаемое время. Пространство подкачки может быть использовано для двух целей, расширить виртуальную память за пределы установленной оперативной памяти (RAM), а также для сохранения данных при гибернации (suspend-to-disk).

Для проверки статуса подкачки, используйте:

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

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

Раздел подкачки

Раздел подкачки может быть создан различными GNU/Linux утилитами разметки. Разделы подкачки обычно обозначаются как тип 82 . Хотя есть возможность использовать разные типы как подкачку, рекомендуется использовать тип 82 , в большинстве случаев systemd, будет автоматически определять его и монтировать (см. ниже)

Для установки раздела как область Linux подкачки, можно использовать mkswap . Например:

Важно: Все данные на указанном разделе будут утеряны.

Для подключения устройства как подкачку:

Чтобы подключить этот раздел подкачки при загрузке, добавьте запись в fstab:

где <UUID> может быть получен из команды:

Совет: Предпочтительно использовать UUID и LABEL, чем имена устройств полученные от ядра (/dev/sd*), т.к. порядок устройств может измениться в будущем. Смотри fstab.
  • Эта fstab запись необязательна если раздел подкачки находится на устройстве, использующий GPT разметку, см. следующий подраздел.
  • Если используется SSD с поддержкой TRIM, учтите использование defaults,discard в fstab строке подключения подкачки. Если вручную активировать подкачку с помощью swapon, используйте параметр -d / --discard , который делает тоже самое. Подробности смотри в swapon(8) .
Важно: Включение discard в RAID установке с использованием mdadm, приведёт к блокировке системы при загрузке и во время выполнения, если использовать swapon.

Активация используя systemd

Активация разделов подкачки в systemd базируется на двух различных механизмах. Оба исполняются в /usr/lib/systemd/system-generators . Генераторы запускаются при старте системы и создают нативные systemd юниты для монтирования. Первый systemd-fstab-generator , читает fstab, чтобы генерировать юниты, включая юнит для подкачки. Второй systemd-gpt-auto-generator , осматривает корневой диск, чтобы генерировать юниты. Это операция проходит только на GPT дисках и может идентифицировать разделы подкачки по их тип коду 82 .

Отключение подкачки

Чтобы деактивировать определенное пространство подкачки:

Также можно использовать -a ключ, чтобы деактивировать все пространства подкачки.

С тех пор, как systemd управляет подкачкой, она вновь будет активирована при старте системы, для долговременного отключения автоматической активации найденных пространств подкачки, выполните systemctl --type swap , чтобы найти связанные со .swap юниты и замаскируйте (systemctl mask юнит) их.

Файл подкачки

Как альтернатива к созданию целого раздела, файл подкачки даёт возможность менять свой размер на лету, а также его гораздо легче полностью удалить. Это может быть особенно важно, если дисковое пространство ограничено (например, небольшие SSD)

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

Вручную

Создание файла подкачки

Использовать под суперпользователем fallocate , чтобы создать файл подкачки размером на свой выбор (M = Mebibytes, G = Gibibytes). Например создание 512 MiB файла подкачки:

Примечание: fallocate может вызвать проблемы с некоторыми файловыми системами, такими как: F2FS или XFS.[1]. Как вариант, используйте dd, наиболее надёжный, но медленный.

Установите права доступа (всеми читаемый файл подкачки это огромная локальная уязвимость)

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

Активируйте файл подкачки:

В завершении, отредактируйте fstab, добавив запись для файла подкачки:

Примечание: Не забудьте добавить discard, если у вас SSD с поддержкой TRIM

Удаление файла подкачки

Чтобы удалить файл подкачки, сначала нужно отключить подкачку, а затем файл может быть удален:

В завершении, удалите соответствующую запись из /etc/fstab .

Автоматически

systemd-swap

Установить systemd-swap пакет. Установить swapfc_enabled=1 в Swap File Chunked разделе файла /etc/systemd/swap.conf . Start/enable systemd-swap сервис. Посетить страницу авторов на GitHub для получения подробностей и установить рекомендуемую конфигурацию.

Примечание: Если журнал продолжает показывать следующее предупреждение systemd-swap[..]: WARN: swapFC: ENOSPC и файл подкачки не создаётся, вы должны установить параметр swapfc_force_preallocated=1 в /etc/systemd/swap.conf .

Подкачка с USB устройства

Благодаря модульности, предлагаемой Linux, мы можем иметь множество разделов подкачки на различных устройствах. Если у вас полностью заполнен жесткий диск, то можно использовать USB устройство как временный раздел подкачки. Однако, этот метод имеет серьёзные недостатки:

  • USB устройство медленнее чем жесткий диск
  • Flash память имеет ограниченное количество циклов записи. Использование его как раздела подкачки, может быстро убить его.

Далее откройте /etc/fstab и добавьте

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

Данная инструкция будет работать и для других устройств хранения, таких как SD карты и т.д.

Шифрование подкачки

Производительность

Операции подкачки как правило существенно медленнее чем непосредственный доступ к RAM. Отключение подкачки полностью для повышения производительности, иногда может привести к ухудшению, поскольку это уменьшает доступную память для VFS кеша, вызывая более частые и дорогостоящие операции ввода/вывода.

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

Swappiness

Swappiness sysctl параметр представляющий частоту использования пространства подкачки. Swappiness может иметь значение от 0 до 100, значение по умолчанию = 60. Низкое значение заставляет ядро избегать подкачки, высокое значение позволяет ядру использовать подкачку наперёд. Использование низкого значения на достаточном количестве памяти, улучшает отзывчивость на многих системах.

Чтобы проверить текущее значение swappiness:

Примечание: Т.к. /proc менее организован и сохраняется только для обратной совместимости, вместо него предпочтительнее использовать /sys .

Чтобы временно установить значение swappiness:

Чтобы постоянно установить значение swappiness, отредактируйте (создайте) конфигурационный файл sysctl

Чтобы проверить и больше узнать, почему оно так работает, посмотрите эту статью.

VFS cache pressure

Приоритет

Если у вас больше одного файла или раздела подкачки, вы должны учитывать присвоение приоритетного значения (от 0 до 32767) для каждой области подкачки. Система будет использовать области подкачки с высоким приоритетом, перед использованием областей с низким приоритетом. Например, если у вас быстрый диск ( /dev/sda ) и медленный ( /dev/sdb ), назначьте высокий приоритет для подкачки расположенной на быстром устройстве. Приоритет может быть назначен в fstab как pri параметр:

Или как параметр в swapon --priority

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

Использование zswap или zram

Zswap это особенность ядра Linux, обеспечивающая сжатие обратного кэша для страниц подкачки. Она увеличивает производительность и уменьшает операции ввода/вывода. ZRAM создаёт виртуальный сжатый файл подкачки в памяти, как альтернатива файлу подкачки на диске.

Чередование

Нет необходимости использовать RAID для повышения производительности подкачки. Ядро самостоятельно может чередовать подкачку на нескольких устройствах, если вы присвоите им одинаковый приоритет в /etc/fstab . Для подробной информации смотри The Software-RAID HOWTO.

Для правильной работы компьютерная система должна иметь Оперативная память . И чем больше концертов, тем лучше. Эта память используется для загрузки всех программ и ресурсов, необходимых для правильной работы ПК. Начнем с того, что современные операционные системы (Windows 10, Ubuntu, macOS) для нормальной работы требуется минимум 2 ГБ. И чем больше программ мы используем, тем больше памяти нам нужно. Однако что произойдет, если у нас закончится память при использовании Linux? Затем метод, известный как Используется «своп».

В системах Linux он известен как «своп» как определенное пространство на жестком диске, которое при необходимости используется в качестве ОЗУ. Таким образом, если на нашем компьютере заканчивается свободная оперативная память, данные перемещаются с него на жесткий диск, его пространство освобождается, и, если это понадобится позже, доступ к нему осуществляется с указанного жесткого диска.

В Windows Swap - это то, что мы называем "Файл подкачки" or виртуальная память . В то время как в Windows это всегда был файл (pagefile.sys), в Linux до относительно недавнего времени нам приходилось иметь специальный раздел (отформатирован и смонтирован как swap) емкости, которую мы хотели использовать для этой цели. самые современные дистрибутивы уже используют файл аналогично Windows для этой задачи.

Обмен Linux

Преимущества и недостатки Swap

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

Наличие 8 ГБ подкачки - это не то же самое, что наличие 8 ГБ ОЗУ. Своп намного медленнее ОЗУ , а отправка и получение информации с жесткого диска требует времени, поэтому мы заметим значительную потерю производительности. Если мы когда-нибудь прибегнем к этому, проблем не возникнет, но если у нас мало оперативной памяти, лучше физически расширить ее, чем полагаться на Swap. Кроме того, если у вас есть SSD, в конечном итоге использование этого обмена может повредить его из-за большого количества требуемых циклов записи.

Таким образом, Своп менее важен для Linux, чем ОЗУ . Это означает, что он всегда будет в фоновом режиме, и очень вероятно, что в некоторых случаях какая-то программа или даже вся операционная система выйдет из строя.

Стоит ли использовать Swap?

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

Если мы используем приложения, которые потребляют огромное количество памяти, такие как Blender, видеоредактор 4K или редактируем очень большие фотографии в GIMP, то желательно, чтобы это пространство было доступно, хотя оно нам может и не понадобиться.

Однако, если у нас есть компьютер с умеренной оперативной памятью (например, 16 ГБ), и мы не используем гибернацию и не используем предыдущие программы, то Своп не понадобится , поскольку наш Linux никогда не будет использовать всю эту память.

Swappiness: выберите, когда мы хотим, чтобы Linux использовал Swap

По умолчанию Ubuntu (и многие дистрибутивы Linux) имеют значение по умолчанию swappiness установлено значение 60. Это означает, что Swap не используется, пока не будет использовано 60% ОЗУ. С этого порога начинается использование памяти подкачки.

Мы можем изменить это значение, отредактировав следующий файл с помощью редактора с правами root:

Мы можем изменить желанный порог изменив значение по умолчанию для того, которое мы хотим. Например, мы можем установить значение «90», если мы хотим начать использовать это только тогда, когда у нас используется 90% оперативной памяти. Даже больше. Это позволит лучше использовать физическую память компьютера, что, в свою очередь, приведет к повышению производительности.

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

sudo sysctl vm.swappiness=10

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

Как активировать Swap в Linux

Есть два разных способа активировать использование Swap, в зависимости от типа, который мы используем (раздел или файл). Мы можем проверить, есть ли в нашем Linux Swap и какого типа, выполнив следующую команду в терминале:

sudo swapon --show

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

В случае, если мы используем типичную форму перегородки, то единственное, что мы должны сделать, когда установка Ubuntu - создать раздел нужного нам размера (рекомендуется в 1.5 раза больше ОЗУ), отформатированный как Linux-SWAP. Кроме того, мы также должны назначить ему точку монтирования Swap, чтобы операционная система подготовила указанный раздел для использования его в качестве swap.

Участие в Ubuntu Swap

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

В случае, если вы хотите включить использование Swap через файл , что мы должны сделать, это выполнить следующие команды:

Создайте файл подкачки (выбирая размер, изменяющий 1 ГБ для значения, которое мы хотим ему присвоить):

sudo fallocate -l 1G /swapfile

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

sudo chmod 600 /swapfile

Мы даем файлу структуру, которая будет функционировать как файл подкачки:

sudo mkswap /swapfile

И, наконец, активируем его с помощью:

sudo swapon /swapfile

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

/swapfile swap swap defaults 0 0

Готово. Мы перезагружаем Linux и видим, как работает новый раздел подкачки. Если мы хотим, мы можем снова использовать команду «sudo swapon –show», чтобы проверить, действительно ли мы используем файл подкачки вместо раздела.

Читайте также: