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

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

Файл подкачки (англ. «swap file») — это специальный файл, который создается вручную, для подкачки в него неактивного содержимого ОЗУ, когда на жестком диске недостаточно места для создания полноценного раздела подкачки. Файл подкачки можно создавать и монтировать аналогично разделу подкачки. Преимущество файлов подкачки заключается в том, что вам не нужно искать пустой раздел или переделывать диск, чтобы добавить дополнительное пространство подкачки.

Добавление файла подкачки

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

Шаг №1: Создаем файл, который будет использоваться в качестве файла подкачки:

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

Часть — это имя файла подкачки, а — размер файла подкачки в килобайтах (1048576 КБ ≈ 1.05 ГБ).

Шаг №2: Только root-пользователь должен иметь возможность записывать и читать файл подкачки. Для этого необходимо задать правильный :

Шаг №3: Нужно подготовить файл подкачки с помощью команды так же, как мы это делали в случае с разделом, но на этот раз используем имя файла подкачки:

Шаг №4: И точно так же монтируем файл подкачки с помощью команды :

Затем нужно добавить запись в файл /etc/fstab для файла подкачки:

Шаг №5: Чтобы убедиться, что мы активировали файл подкачки, используем команду :

Или команду :

Или:

Или:

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

Если по какой-либо причине вы хотите отключить и удалить файл подкачки, выполните следующие шаги:

Шаг №1Отключаем подкачку памяти с помощью следующей команды:

Шаг №2 Удаляем запись о файле подкачки из файла /etc/fstab:

Шаг №3Удаляем непосредственно сам файл подкачки с помощью команды :

Шаг 3 — Создание файла подкачки

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

Лучше всего создавать файл подкачки при помощи программы . Эта команда мгновенно создает файл указанного размера.

Поскольку на сервере в нашем случае 1 Гбайт оперативной памяти, в этом руководстве создадим файл размером 1 Гбайт. Скорректируйте с учетом необходимости на вашем сервере:

Чтобы проверить правильность выделенного объема памяти, введите:

Файл создан с правильным выделенным объемом памяти.

Прежде чем мы начнем: Btrfs и SSD

Мы хотели бы быстро обсудить два момента.

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

Начиная с ядра 5.0, вы если они настроены со следующими требованиями:

Нет файлов с функцией копирования при записи (NOCOW).Они не сжаты.Они не используют разные жесткие диски.

Большинство читателей будут использовать файловую систему ext4 по умолчанию, поэтому их это не будет беспокоить.

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

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

Как создать и подключить файл подкачки SWAP

Проверка наличия свопа в системе

Для начала, нужно убедиться, что своп ещё не подключен:

swapon -s

Если команда выдала пустой результат или что-то навроде:

Filename                Type        Size    Used    Priority

— значит, своп, скорее всего отсутствует.

Дополнительно проверим командой:

free -m

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

Теперь, надо проверить, сколько свободного места есть на диске:

df -h

В результате, мы увидим что-то подобное:

:~# df -h  Файловая система Размер Использовано  Дост Использовано% Cмонтировано в  /dev/vda1           30G          20G  9,0G           66% /  udev                10M            0   10M            0% /dev  tmpfs              403M          41M  362M           11% /run  tmpfs             1006M         336K 1005M            1% /dev/shm  tmpfs              5,0M            0  5,0M            0% /run/lock  tmpfs             1006M            0 1006M            0% /sys/fs/cgroup  tmpfs             1006M         492K 1005M            1% /tmp  

Как мы видим, доступно 9 гигабайт дискового пространства — вполне достаточно, чтобы создать своп-файл.

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

Исходите из принципа — сколько может понадобиться, столько и выделяйте. Как правило, можно начинать с размера объёма оперативной памяти, либо его удвоенного количества. Например, если у вас в системе 2 гигабайта оперативки, своп можно сделать размером 2-4 гигабайта, как правило, этого должно хватать. Но, Вы можете скорректировать его размер под себя.

Создание файла SWAP

Быстрый способ
Используем :

fallocate -l 4G /swapfile

Результатом будет пустая строка, это нормально. В отличие от , результат будет получен почти сразу, и я рекомендую именно его.

</pre>

Традиционный, медленный способ
dd if=/dev/zero of=/swapfile bs=1G count=4

Синтаксис команды простой:

</pre>

  • dd — команда предназначена для того, чтобы что-то куда-то копировать побайтово;
  • if=/dev/zero — указывает на источник, т.е. на то, откуда копируем, в данном случае из /dev/zero — это специальный файл в UNIX-подобных системах, представляющий собой источник нулевых байтов;
  • of=/swapfile — указывает путь назначения, куда копируем данные;
  • bs=1G — количество байт, которые будут записаны за раз. В нашем случае, 1 гигабайт. Обозначения: — гигабайт, — мегабайт, — килобайт, и так далее;
  • count=4 — сколько блоков размером с будет создано, в нашем случае 4.

</ul></dl>

Теперь, когда файл создан, проверим результат:

ls -lh /swapfile

В результате увидим: Как видим, файл создался верно и с нужным объёмом.

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

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

chmod 600 /swapfile

Проверим результат:

ls -lh /swapfile

В результате, мы должны увидеть подобное: Права прописаны верно.

Теперь нужно сделать из файл подкачки:

mkswap /swapfile

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

Теперь, файл готов в роли свопа. Подключим его к системе:

swapon /swapfile

Всё, теперь своп подключен и работает. Осталось проверить правильность работы самой первой командой:

swapon -s
Filename                Type        Size    Used    Priority  /swapfile               file        4193300  0       -1

Своп также будет виден в стандартных командах:

free -m
             total       used       free     shared    buffers     cached  Mem:          2010        1887       122          0          5         30  -/+ buffers/cache:         827       1183  Swap:         4095          0       4095  

Всё, теперь точно, своп в системе готов и будет использоваться при необходимости.

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

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

echo "/swapfile    none    swap    sw    0    0" >> /etc/fstab
nano /etc/fstab

Какого размера должно быть пространство подкачки?

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

Ключевой вопрос – сколько? Старые версии Unix-подобных операционных систем (такие как Sun OS и Ultrix) рекомендовали пространство подкачки вдвое или втрое превышающее размер оперативной памяти. Современные разработки (такие как Линукс) не требуют так много, но могут использовать его, если им дадут. Правило тут такое: 1) для настольных систем выделяйте пространство подкачки равное удвоенному размеру оперативной памяти, это позволит вам одновременно запускать много приложений (многие из которых, будучи неактивны, легко могут быть откачаны на диск, освободив память для активных); 2) для сервера выделяйте меньше пространства подкачки (около половины размера оперативной памяти), так, чтобы обеспечить при необходимости возможность своппинга, но следите за использованием пространства подкачки, и при необходимости наращивайте оперативную память (RAM); 3) для старых компьютеров с маленьким объемом оперативной памяти (скажем, только 128Мб), выделяйте столько пространства для подкачки, сколько сможете, вплоть до 1Гб.

Ядро Linux 2.6 добавило новый параметр, называемый swappiness (перевода не существует), позволяющий администратору регулировать то, как Линукс оперирует с пространством подкачки. Это число от 0 до 100. В общих чертах, чем больше это число, тем больше страниц откачиваются из оперативной памяти на диск, а чем меньше значение swappiness, тем большее число приложений остаются в оперативной памяти, даже если они неактивны. Разработчик ядра Andrew Morton утверждает, что выставляет на своих десктопах swappiness на высочайший уровень – 100, говоря при этом: “Я считаю, что не следует ограничивать ядро в его стремлении откачивать мусор. Вы же не хотите, чтобы сотни мегабайт памяти, занятой раздувшимися приложениями, без пользы зависли в вашей машине. Выгрузите их на диск, а память используйте на что-нибудь полезное”. У идеи Мортона есть и оборотная сторона: если память освобождается слишком быстро, то время отклика приложений возрастет, так как при вызове приложения, система должна будет сначала закачать его обратно в память, что создаст ощущение медлительности.

Значение swappiness по умолчанию равно 60. Можно изменить его временно (до следующей перезагрузки) командой от имени root:

echo 50 > /proc/sys/vm/swappiness

Если хотите изменить его на постоянной основе, тогда нужно изменить параметр vm.swappiness в файле/etc/sysctl.conf

Проверка Swap

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

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

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

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

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

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

Страницы файлов и анонимные страницы

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

Отображения памяти могут быть:

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

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

Если этого не произойдет, изменения будут потеряны.
Аноним : Анонимная память — это отображение памяти без файла или устройства, поддерживающего его. Эти страницы могут содержать оперативную память, запрашиваемую программами для хранения данных, или для таких вещей, как стек и . Поскольку за данными этого типа нет файлов, необходимо выделить специальное место для хранения анонимных данных. Это место — раздел подкачки или файл подкачки. Анонимные данные записываются для обмена перед освобождением анонимных страниц.
Резервное копирование устройства : устройства обрабатываются через файлы блочных устройств, которые можно рассматривать как файлы . Данные могут быть прочитаны и записаны в них. В отображении памяти, поддерживаемом устройством, хранятся данные с устройства.
Общий доступ : несколько записей таблицы страниц могут отображаться на одной странице ОЗУ. Доступ к ячейкам памяти через любое из отображений покажет те же данные. Различные процессы могут очень эффективно взаимодействовать друг с другом, изменяя данные в этих совместно наблюдаемых местах памяти. Совместно используемые записи сопоставлений являются распространенным средством достижения высокопроизводительных межпроцессных взаимодействий.
Копирование при записи : Копирование при записи — это метод ленивого размещения. Если запрашивается копия ресурса, уже находящегося в памяти, запрос удовлетворяется путем возврата сопоставления исходному ресурсу. Если один из процессов, «разделяющих» ресурс, пытается записать в него, ресурс должен действительно реплицироваться в памяти, чтобы можно было внести изменения в новую копию. Таким образом, выделение памяти происходит только при первой команде записи.

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

Параметр vm.swappiness

Основной параметр, влияющий на работу системы со swap, — это vm.swappiness. Очень приблизительно этот параметр можно определить так: он задает процент свободной оперативной памяти, при котором начинается использование подкачки. Более точное определение смысла этой переменной можно уяснить из описания которое было дано в рассылке kernel.org — статья на английском. Без особой необходимости трогать его не рекомендуется.

Скорректировать значение, применяемое при загрузке системы, можно, указав в файле /etc/sysctl.conf значение vm.swappiness. Пример:

echo"vm.swappiness=30"|sudotee-aetcsysctl.conf

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

# sysctl -f

Актуальное значение, используемое ядром в настоящее время, можно просмотреть или изменить в /proc/sys/vm/swappiness.

# cat /proc/sys/vm/swappiness# echo 10 > /proc/sys/vm/swappiness

Изменения в /proc/sys/vm/swappiness будут сброшены при следующей перезагрузке.

Значение vm.swappiness по умолчанию — 60.

Какое значение выбрать?

Маленькое значение vm.swappiness (минимальное значение: 0) будет заставлять ядро использовать больше оперативной памяти под память процессов (в ущерб буферам и кэшам), тогда как большое значение (максимальное значение: 100) будет выделять больше памяти под кэши и буфера (в ущерб памяти для процессов).

Нужно понимать: ни одно значение vm.swappiness не увеличит волшебным образом производительность компьютера многократно. Урезаете кеши — понижаете отзывчивость системы при работе с файлами, урезаете память процессов — снижаете отзывчивость системы при переключении задач.

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

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

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

Выполните следующие действия, чтобы добавить пространство подкачки в Ubuntu 20.04:

  1. Сначала создайте файл, который будет использоваться как своп:

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

  2. Установите права доступа к файлу на чтобы обычные пользователи не могли писать и читать файл:

  3. Создайте в файле область подкачки Linux:

  4. Активируйте файл подкачки, выполнив следующую команду:

    Чтобы сделать изменение постоянным, откройте файл :

    и вставьте следующую строку:

    / etc / fstab

  5. Убедитесь, что своп активен, используя команду или , как показано ниже:

Преимущества использования памяти подкачки

Изучая работу памяти подкачки, мы можем легко понять преимущества её использования, основные из которых перечислены ниже:

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

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

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

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

   Повышает общую производительность вашей системы.

Что такое подкачка?

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

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

4.3. Ответственность

Автор не несет ответственности ни за какие потери или искажения данных, в процессе использования информации данной в этом документе. Невозможно проверить вещи под всеми конфигурациями, поэтому что-то из данного здесь может быть ошибочно или не работать на вашей системе. В случае, если вы обнаружите ошибку – сначала сообщите об этом
мне!

Этот документ распространяется “как есть”. Я постарался описать весь процесс как можно точнее, но вы используете данную информацию на свой страх и риск. Я ни в коем случае не отвечаю за любые повреждения, явившиеся результатом использования этой информации.

Настройка частоты использования пространства подкачки

В ядро Linux 2.6 был добавлен новый параметр под названием swappiness, определяющий как часто система будет использовать пространство подкачки. Он может иметь значения от до . Маленькое значение заставит ядро стараться избегать операций подкачки, когда это возможно, в то время как более высокое значение заставит ядро использовать пространство подкачки «более агрессивно».

Значение по умолчанию для swappiness равно . Вы можете временно изменить его (до следующей перезагрузки), введя команду:

Или, например, чтобы установить значение swappiness равным через sysctl, нужно выполнить следующую команду:

Если вы хотите перманентно изменить данное значение, то вам необходимо определить параметр vm.swappiness в файле /etc/sysctl.conf.

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

Для чего Linux использует раздел подкачки или подкачки?

Данные и выполняемые программы хранятся в так называемой оперативной памяти или оперативной памяти. То, что хранится в оперативной памяти, теряется при выключении компьютера.

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

Мы называем раздел подкачки a область жесткого диска, которую операционная система использует для временного хранения. Использовал когда в ОЗУ не хватает места для сохранения данных активного приложения.

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

Что такое swap

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

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

Что такое swap

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

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

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

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

Следующие шаги показывают, как добавить пространство подкачки в Debian 10.

  1. Сначала создайте файл, который будет использоваться для свопа:
     

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

  2. Только пользователь root должен иметь возможность читать и записывать файл подкачки. Выполните команду ниже, чтобы установить правильные разрешения :
     

  3. Используйте этот инструмент, чтобы настроить область подкачки Linux для файла:

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

    Чтобы сделать изменение постоянным, откройте файл:

    и вставьте следующую строку:

    / etc / fstab

  5. Убедитесь, что своп активен, используя команду или, как показано ниже:

How to Add Swap Space on CentOS 8

28 Марта 2021
&vert;

CentOS

В этой статье описаны действия по добавлению файла подкачки в системах CentOS 8.

Swap – это пространство на диске, которое используется, когда объем физической памяти RAM заполнен. Когда в системе Linux заканчивается ОЗУ, неактивные страницы перемещаются из ОЗУ в область подкачки.

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

Создание и активация файла подкачки

Выполните следующие шаги от имени пользователя root или пользователя с привилегиями sudo, чтобы добавить пространство подкачки в системе CentOS 8.

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

    В этом примере мы создаем файл подкачки размером 1 ГБ. Если вам нужно больше , замените его на нужный размер.

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

  2. Установите права доступа к файлу так, чтобы только пользователь root мог читать и записывать файл подкачки:
     

  3. Затем настройте область подкачки Linux для файла:
     

  4. Активируйте , выполнив следующую команду:

  5. Убедитесь, что активен, используя команду или , как показано ниже:

  6. Сделайте изменение постоянным, добавив в файл запись подкачки :
     

    Вставьте следующую строку:

    / etc / fstab
     

Регулировка значения подкачки

Swappiness – это свойство ядра Linux, которое определяет, как часто система будет использовать пространство подкачки. Подкачка может иметь значение от 0 до 100. Низкое значение заставит ядро ​​по возможности избегать подкачки, в то время как более высокое значение заставит ядро ​​использовать пространство подкачки более агрессивно.

Значение подкачки по умолчанию в CentOS 8 – 30. Вы можете проверить текущее значение подкачки, введя следующую команду:
 

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

Например, чтобы установить значение подкачки 10, введите:
 

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

/etc/sysctl.conf
 

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

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

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

  1. Отключите пространство подкачки, набрав:

  2. Удалите из файла запись подкачки .

  3. Удалите фактический файл подкачки с помощью :

Мы показали вам, как создать файл подкачки, а также активировать и настроить пространство подкачки в вашей системе CentOS 8.

Регулировка значения подкачки

Swappiness – это свойство ядра Linux, которое определяет, как часто система будет использовать пространство подкачки. Подкачка может иметь значение от 0 до 100. Низкое значение заставит ядро ​​по возможности избегать подкачки, в то время как более высокое значение заставит ядро ​​более агрессивно использовать пространство подкачки.

Значение swappiness по умолчанию – 60. Вы можете проверить текущее значение swappiness, введя следующую команду:

Хотя значение подкачки 60 подходит для большинства систем Linux, для производственных серверов вам может потребоваться установить более низкое значение.

Например, чтобы установить значение swappiness равным 10, выполните:

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

/etc/sysctl.conf

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

Регулировка значения подкачки

Swappiness — это свойство ядра Linux, которое определяет, как часто система будет использовать пространство подкачки. Он может иметь значение от 0 до 100. Низкое значение заставит ядро по возможности избегать подкачки, а более высокое значение заставит ядро использовать пространство подкачки более агрессивно.

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

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

Например, чтобы установить значение swappiness равным , выполните:

Чтобы сделать этот параметр постоянным при перезагрузке, добавьте следующую строку в :

/etc/sysctl.conf

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

Некоторые опции Samba

Рассмотрим некоторые полезные опции, которые могут пригодится при настройке Samba.

1. hosts allow

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

Пример использования параметра.

hosts allow = comp1, 192.168.1., 192.168.160.0/255.255.252.0

* в нашем примере мы разрешим доступ только для компьютера comp1, компьютеров из сетей 192.168.1.0/24 и 192.168.160.0/22.

2. hosts deny

Параметр аналогичный hosts allow, только он наоборот — запрещает доступ для хостов и сетей. Например:

hosts deny = comp2, 192.168.2., 192.168.164.0/255.255.252.0

hosts deny = ALL EXCEPT 192.168.3.

3. interfaces

По умолчанию samba использует все сетевые интерфейсы, кроме локальной петли (127.0.0.1). Параметр interfaces позволит указать, на каком сетевом адаптере файловый сервер должен принимать запросы. Пример:

interfaces = ens32 192.168.1.15/24 192.168.2.15/255.255.255.0

4. Force User/Group

Опции force user и force group позволяют задать пользователя и группу, от которых будет работать подключение пользователя к samba. Параметр может оказаться полезным для создания шары из каталога с уже назначенным владельцем, которого мы не хотим менять.

Прописывается для шары:

force user = apache
force group = apache

* данная настройка позволит подключаться к шаре под пользователем apache.

5. Include

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

include = /etc/samba/conf.d/shares.conf

* данная опция будет дополнительно подключать конфигурацию из файла /etc/samba/conf.d/shares.conf (прописывается полный путь).

Недостатки SWAP

Медленная работа

Если файл или раздел свопа хранится на HDD (жёстком диске), то скорость чтения данных с него намного меньше, чем из оперативной памяти. Получше дела обстоят с SSD (твёрдотельным накопителем), однако, надо понимать, что поиск и чтение данных происходит через оперативную память, что, в свою очередь, всё равно увеличивает время отклика. Поэтому, если Вы решили сэкономить на оперативной памяти, полностью положившись на SWAP, то я категорически не рекомендую так делать.

Необходимо наличие свободного места на диске
Вам необходимо зарезервировать свободное место на диске под своп, иначе стабильность работы не гарантируется. Это не то, чтобы недостаток свопа, просто его надо учитывать и помнить о нём.

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

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

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

# mkswap /dev/sdxy

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

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

# swapon /dev/sdxy

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

UUID=<UUID> none swap defaults 0 0

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

lsblk -no UUID /dev/sdxy

Совет: Предпочтительно использовать UUID и LABEL, чем имена устройств полученные от ядра (/dev/sd*), т.к. порядок устройств может измениться в будущем. Смотри fstab.

Примечание:

  • Эта fstab запись необязательна если раздел подкачки находится на устройстве, использующий GPT разметку, см. следующий подраздел.
  • Если используется SSD с поддержкой , учтите использование в fstab строке подключения подкачки. Если вручную активировать подкачку с помощью swapon, используйте параметр /, который делает тоже самое. Подробности смотри в .

Важно: Включение discard в RAID установке с использованием mdadm, приведёт к блокировке системы при загрузке и во время выполнения, если использовать swapon.

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

Активация разделов подкачки в systemd базируется на двух различных механизмах. Оба исполняются в
. Генераторы запускаются при старте системы и создают нативные systemd юниты для монтирования. Первый , читает fstab, чтобы генерировать юниты, включая юнит для подкачки. Второй , осматривает корневой диск, чтобы генерировать юниты. Это операция проходит только на GPT дисках и может идентифицировать разделы подкачки по их тип коду .

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

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

# swapoff /dev/sdxy

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

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

Поделитесь в социальных сетях:FacebookXВКонтакте
Напишите комментарий