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

Доступное пространство на жестком диске

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

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

Как можно видеть в первой строке результата, на жестком диске доступно 55 гигабайт, чего более чем достаточно для недавно созданного VPS среднего размера; однако, фактическое использование памяти и параметры сервера могут отличаться.

Существует множество расхожих мнений о «правильном» размере swap-пространства. В целом, это зависит от личных предпочтений пользователя и требований приложения. Как правило, swap-пространство должно быть равно или вдвое больше объема оперативной памяти системы.

В этом вопросе нужно ориентироваться на свободное дисковое пространство. Например, если RAM системы – 4 гигабайта, а вдвое большее swap-пространство (т.е., 8 гигабайт) займет существенную часть дискового пространства, нужно создать swap не более 4 гигабайт.

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

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

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

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

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

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

/etc/sysctl.conf

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

Улучшаем работу файла подкачки (SWAP) Ubuntu

Улучшать работу файла мы будем с помощью контроля использования пространства файла подкачки. Существует такой параметр, как «swappiness», чем выше это значение тем больше система будет пытаться сохранить оперативной памяти и тем больше будет скидываться в файл подкачки, при значениях близких к 0 система не будет использовать SWAP без крайней необходимости.

По умолчанию swappiness 60%, а это значит что после того как оперативная память заполнится на 40%, Ubuntu будет пытаться скинуть «излишки» на жёсткий диск. Это не очень, особенно если у вас достаточно много памяти, снизив этот значение можно добиться повышения производительности. Понизим это значение до 20.

sudo sysctl vm.swappiness=20

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

sudo sysctl -w vm.swappiness=20

Существует ещё один интересный параметр vfs_cache_pressure. Он указывает размер выделяемой памяти для кэширования операций на жёстком диске. По умолчанию значение 100, предельных значений я, к сожалению, не знаю. 0 — ничего не кэшировать. >100 — агрессивно кэшировать операции на жёстком диске. Тут предлагаю экспериментальным путём найти нужное значение.

Изменим параметр до 50:

echo 50> /proc/sys/vm/vfs_cache_pressure

Для работы после перезагрузки добавить в конце файла /etc/sysctl.conf такую строку:

vm.vfs_cache_pressure=50

Просмотр текущего значения:

cat /proc/sys/vm/vfs_cache_pressure

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

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

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

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

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

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

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

Создадим файл c именем swap размером 4 G в папке корне системы /:

$ sudo dd if=/dev/zero of=/swap.img bs=1024 count=4000000
4000000+0 записей получено
4000000+0 записей отправлено
4096000000 байт (4,1 GB, 3,8 GiB) скопирован, 45,6991 s, 89,6 MB/s

1
2
3
4

$sudo dd if=devzero of=swap.img bs=1024count=4000000

4000000+записейполучено

4000000+записейотправлено

4096000000байт(4,1GB,3,8GiB)скопирован,45,6991s,89,6MBs

Форматируем файл в формат свопа:

$ sudo mkswap /swap.img
mkswap: /swap.img: insecure permissions 0644, 0600 suggested.
Setting up swapspace version 1, size = 3,8 GiB (4095995904 bytes)
без метки, UUID=6a46beca-c117-4c53-8b05-3641fc85b7e1

1
2
3
4

$sudo mkswapswap.img

mkswapswap.imginsecure permissions0644,0600suggested.

Setting up swapspace version1,size=3,8GiB(4095995904bytes)

безметки,UUID=6a46beca-c117-4c53-8b05-3641fc85b7e1

Подключаем файл к системе:

$ sudo swapon /swap.img
swapon: /swap.img: insecure permissions 0644, 0600 suggested.

1
2

$sudo swaponswap.img

swaponswap.imginsecure permissions0644,0600suggested.

Проверяем результат работы:

$ sudo swapon -s
Имя файла Тип Размер Исп-но Приоритет
/swap.img file 3999996 0 -2

1
2
3

$sudo swapon-s

ИмяфайлаТипРазмерИсп-ноПриоритет

swap.img                               file3999996-2

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

$ nano /etc/fstab

# Подключим swap при загрузке
/swap.img swap swap defaults 0 0

1
2
3
4

$nanoetcfstab

 
# Подключим swap при загрузке

swap.img swap swap defaults

Сохраняем файл и перезагружаемся.

$ sudo reboot

1 $sudo reboot

Проверяем:

$ swapon -s
Имя файла Тип Размер Исп-но Приоритет
/swap.img file 3999996 0 -2

1
2
3

$swapon-s

ИмяфайлаТипРазмерИсп-ноПриоритет

swap.img                               file3999996-2

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

Раздел подкачки может быть создан различными 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 юниты и замаскируйте () их.

Размещение

SWAP может быть размещен на разделе диска, в или в RAM. Исторически в Linux SWAP размещался на разделе, но в современных дистрибутивах производительность SWAP-файла не уступает SWAP-разделу. Однако стандартный установщик Ubuntu (до версии 17.04) не умеет создавать SWAP-файл при установке и выдает предупреждение, если SWAP-раздел не определен при разметке диска. Начиная с версии 17.04, Ubuntu предлагает по умолчанию создавать SWAP в файле (объем определяется как 5% от свободного на диске места, но не более 2 Гб). Использование SWAP-файла имеет некоторые преимущества: он не занимает отдельный раздел, его легко создать, изменить его размер или удалить.

Дополнительно при выборе размещения SWAP нужно учитывать, что не все файловые системы позволяют использовать прямую адресацию блоков SWAP-файла. Так, к примеру, нельзя использовать SWAP в файле на разделе с файловой системой btrfs(по состоянию на середину 2017).

Проверка системы на Swap

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

Чтобы узнать, есть ли активное swap-пространство в текущей системе, наберите:

Если (как показано выше) возвращается только заголовок таблицы, в данной системе нет активного swap-пространства.

Еще один, более привычный способ проверки swap-пространства – утилита free, которая показывает использование памяти системы. Чтобы узнать текущее состояние памяти и swap в мегабайтах, наберите:

Как можно видеть, общее использование swap в сети равно 0, что совпадает с результатом предыдущей команды.

Настройка swappiness

Дальше будет рассмотрена настройка swap linux. У файла подкачки существуют параметры, которые сообщают ОС, как часто его нужно использовать. Это явление называется «свопингом» и может иметь значение в пределах 0 – 100. Если это значение ближе к 100, ядро будет перемещать в раздел подкачки больше информации чтобы освободить память. При значениях ближе к нулю, система будет использовать подкачку только при крайней необходимости.

К примеру, в версии Ubuntu L inux для рабочего стола устанавливается параметр 60, а в серверных редакциях операционной системы – 1. Для того чтобы проверить, какой параметр используется в нашей ОС, вводим в терминал такую команду:

Как видите, в нашем случае «свопинг» установлен как 60. Если же вы хотите поменять swappiness, можете воспользоваться оператором, цифра в конце которого и будет новым значением:

sudo sysctl vm.swappiness=25

Как и в случае с конфигурацией файла подкачки, данный параметр изначально будет временным и обнулится при следующей перезагрузке. Для того чтобы сделать его постоянным, в самом конце файла /etc/sysctl.conf записываем значение vm.swappiness=25.

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

Шаг 4 — Активация файла подкачки

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

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

Чтобы передать все права доступа пользователям root, введите:

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

Теперь только у пользователя с правами root отмечены флажки чтения и записи.

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

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

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

Чтобы подтвердить наши выводы, можем снова проверить ответ утилиты :

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

Тонкая настройка swap

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

Параметр swappiness задает частоту использования системой swap-пространства. Значение swappiness выражается числом от 0 до 100, которое выражает проценты. Если это значение близко к нулю, ядро ​​не будет передавать данные в swap без крайней необходимости. Помните, взаимодействие со swap-файлом «дорого обходится» серверу, поскольку требует больше ресурсов, чем взаимодействие с оперативной памятью, что, следовательно, может привести к значительному снижению производительности. Система, как правило, работает продуктивнее, если не очень полагается на swap.

Если значение swappiness ближе к 100, система будет передавать в swap большое количество данных с целью сохранить больше свободного места в RAM. В зависимости от профиля памяти приложения и цели использования сервера, это может быть лучше в некоторых случаях.

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

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

Чтобы изменить значение swappiness, используйте команду sysctl.

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

Данное значение будет действительным до следующей перезагрузки. Чтобы значение сохранялось и после перезагрузки сервера, откройте файл /etc/sysctl.conf в текстовом редакторе:

и внесите в него следующую строку:

Затем сохраните и закройте файл.

Еще одна важная опция – это vfs_cache_pressure. Этот параметр  управляет склонностью ядра восстанавливать память, которая используется для кэширования каталогов и инодов объектов.

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

Согласно текущим настройкам, система удаляет иноды из кэша слишком быстро. Установив меньшее значение (например, 50), система будет хранить информацию дольше:

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

и внести в него строку:

Сохраните и закройте sysctl.

Прежде чем вы начнете

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

Как правило, размер файла подкачки зависит от того, сколько оперативной памяти имеет ваша система:

  • Системы с ОЗУ менее 2 ГБ – в 2 раза больше ОЗУ.
  • Системы с оперативной памятью от 2 до 8 ГБ – того же размера, что и объем оперативной памяти.
  • Системы с ОЗУ более 8 ГБ – не менее 4 ГБ подкачки.

Только пользователь root или пользователь с правами sudo может активировать файл подкачки.

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

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

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

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

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

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

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

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

Активация swap

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

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

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

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

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

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

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

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

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

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

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

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

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

Параметр vm.swappiness

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

echo "vm.swappiness=30"| sudo tee -a etcsysctl.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: увеличить своп

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

Чтобы открыть окно терминала на рабочем столе Ubuntu, нажмите Ctrl + Alt + T на клавиатуре. Кроме того, вы можете запустить терминал, выполнив поиск «Терминал» в меню приложения.

Отключить своп по умолчанию

Прежде чем вы сможете создать новый файл подкачки, вы должны отключить старый. Чтобы отключить старый своп, перейдите в терминал Linux и выполните команду обмен в файле подкачки Ubuntu, расположенном в папке каталог.

sudo swapoff /swapfile

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

free -h

Посмотрите на столбец «Обмен:». Если он показывает 0B в каждом месте, вы фактически отключили файл подкачки Ubuntu по умолчанию. Если нет, перезапустите обмен команду и попробуйте еще раз.

Удалить существующий файл подкачки

Теперь, когда файл подкачки Ubuntu по умолчанию отключен, его необходимо удалить из системы. Почему? Если мы не удалим файл подкачки по умолчанию, он может конфликтовать с новым файлом подкачки, который мы создаем, поскольку они будут использовать похожие имена файлов.

Чтобы удалить файл подкачки по умолчанию из вашей системы Ubuntu, вы должны повысить уровень сеанса терминала до учетной записи root. Учетная запись root — единственная учетная запись в вашей системе Ubuntu, которая может удалять файлы и папки из каталог.

Чтобы получить доступ к учетной записи root в Ubuntu, используйте sudo -s команда ниже.

sudo -s

Получив root-доступ в терминале, используйте rm команда для удаления файла подкачки Ubuntu по умолчанию с вашего компьютера.

cd /

rm swapfile

Когда rm команда запущена, файл подкачки Ubuntu по умолчанию исчезнет из вашей системы. Чтобы убедиться, что он исчез, выполните команду ls команда в каталог. Если вы не видите «файл подкачки» в списке файлов, он был успешно удален.

ls

Создать новый файл подкачки

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

Чтобы создать новый файл подкачки, вы должны сначала определить размер в мегабайтах, так как это то, что дд использует. Например, чтобы создать файл подкачки размером 8 ГБ, вы должны сделать 8 x 1024, что составляет 8192 МБ.

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

sudo -s

dd if=/dev/zero of=/swapfile bs=1M count=YOUR_MEGABYTE_NUMBER_HERE

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

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

chmod 600 /swapfile

Включить новый своп

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

С использованием mkswap ниже, включите новый файл подкачки в Ubuntu.

mkswap /swapfile

Однажды mkswap команда выполняется, вы увидите вывод командной строки, в котором говорится «настройка пространства подкачки», за которым следует UUID подкачки и его размер.

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

swapon /swapfile

Когда новый файл подкачки будет включен, вы сможете проверить его, выполнив команду команда. Посмотрите под столбцом «Swap:», чтобы убедиться, что он работает.

Шаг 6 — Изменение настроек подкачки

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

Настройка параметра Swappiness

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

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

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

Можем увидеть текущее значение фактора swappiness, введя следующее:

Для настольного компьютера неплохое значение swappiness — 60. Для сервера, возможно, вы захотите приблизить его к 0.

Можно задать другое значение swappiness при помощи команды .

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

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

Внизу можно ввести следующее:

/etc/sysctl.conf

Сохраните файл и закройте его после завершения.

Изменение настроек нагрузки кэш-памяти

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

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

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

Опять-таки, это значение действительно только для текущей сессии. Чтобы сделать его постоянным, нужно (как и в случае со swappiness) изменить файл конфигурации:

Внизу добавьте строку с новым значением:

/etc/sysctl.conf

Сохраните и закройте файл после завершения.

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

Если вы удостоверились в том, что файл подкачки отсутствует, можно переходить к его созданию. Пример, приведенный ниже, будет показан с использованием операционной системы Ubuntu 18.04, но работать это должно и на других дистрибутивах Linux.

Шаг 1: Создаем swap файл

Давайте создадим файл подкачки для нашей Ubuntu. Для примера его размер составит 1 Гб. Запустите терминал и введите команду, приведенную ниже:

sudo fallocate -l 1G /swapfile

Для обеспечения безопасности файла обязательно устанавливаем на него нужные права.

sudo chmod 600 /swapfile

При этом вместо «swapfile» мы можем указать любое другое название.

Шаг 2: Создание файловой системы

Создание swap linux ещё не завершено. Теперь необходимо указать нашей операционной системе, что созданный объект должен использоваться как файл подкачки. Для этого мы будем использовать команду, приведенную ниже:

sudo mkswap /swapfile

Если все сделано верно, результат будет выглядеть так:

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

Хорошо, теперь наш Linux понимает, что это файл подкачки, но этого недостаточно. Нам также необходимо включить SWAP :

sudo swapon /swapfile

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

Отлично, операционная система распознала наш файл подкачки и начала его использовать. Мы видим тип в поле TYPE и размер в поле SIZE .

Шаг 4. Сохранение изменений после перезагрузки

Все операции, которые мы предприняли выше, временны. Как только компьютер будет перезагружен, они отменятся. Для того чтобы сделать изменения постоянными, нам необходимо дописать кое-какую информацию в /etc/fstab. Для этого поступаем так:

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

sudo cp /etc/fstab /etc/fstab.back

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

/swapfile none swap sw 0 0

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

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

Готово. Изменения сохранены и файл подкачки не сбросится после перезагрузки операционной системы.

Шаг 2 — Проверка свободного пространства в разделе жесткого диска

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

В данном случае устройство с в столбце  — наш диск. В данном примере у нас достаточно места (использовано только 1,4 Гбайт). Ваше использование, вероятно, будет другим.

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

Активация swap-файла

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

Но прежде необходимо изменить права на файл, чтобы только root имел право на чтение. Swap-файл с правами на чтение и изменение другими пользователями – огромный риск для безопасности сервера. Чтобы передать все привилегии пользователю root, наберите:

Убедитесь, что теперь права на файл установлены верно:

Как видите, права на чтение и запись есть только у пользователя root.

Теперь, когда файл защищен, можно указать системе на swap-пространство с помощью команды:

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

Убедитесь, что процедура прошла успешно, проверив отчеты системы о swap, как в начале статьи:

Теперь система сообщает об активированном swap-файле. Можно также использовать и утилиту free, чтоб подтвердить результат:

Как видите, swap-пространство было добавлено успешно; теперь операционная система может использовать его в случае необходимости.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: