Как добавить пространство подкачки на centos 8

Установка и запуск FreeIPA

Установка выполняется из репозитория. Команды немного отличаются в зависимости от версии CentOS.

а) для Rocky Linux / CentOS 8:

dnf install @idm:DL1

dnf install ipa-server

* первая команда установит модуль DL1 Stream-репозитория. Вторая — сам freeipa.

б) для CentOS 7:

yum install ipa-server

Если мы хотим использовать наш сервер еще и как DNS, то устанавливаем:

yum install ipa-server-dns

После выполняем конфигурирование сервиса:

ipa-server-install

* если система ругнется на IPv6, .

Отвечааем на первый вопрос, хотим ли мы использовать и сконфигурировать DNS-сервер BIND:

Do you want to configure integrated DNS (BIND)? : yes

* в случае, если мы не хотим, чтобы сервер DNS был установлен вместе с сервером IPA, просто нажимаем Enter.

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

Когда система запросит пароль для Directory Manager, необходимо придумать и ввести его дважды:

Directory Manager password: 
Password (confirm): 

… будет создана учетная запись для подключения к LDAP.

Затем также нужно придумать и задать пароль для IPA admin:

IPA admin password: 
Password (confirm):

… будет создана учетная запись IPA Administrator для первого пользователя FreeIPA с правами администратора.

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

Do you want to configure DNS forwarders? :

Система предложит сначала использовать DNS-серверы из настроек сети (если они прописаны) — если нас это устроит, оставляем значение по умолчанию:

Do you want to configure these servers as DNS forwarders? :

… также можно добавить дополнительные серверы:

Enter an IP address for a DNS forwarder, or press Enter to skip: 8.8.8.8

Также оставляем значение по умолчанию для попытки найти обратные зоны:

Do you want to search for missing reverse zones?

После система выведет информацию о конфигурации и попросит ее подтвердить — вводим yes:

Continue to configure the system with these values? : yes

Начнется процесс конфигурации. После его завершения мы увидим подсказку со следующими шагами:

Next steps:
    1. You must make sure these network ports are open:
        TCP Ports:
          * 80, 443: HTTP/HTTPS
          * 389, 636: LDAP/LDAPS
          * 88, 464: kerberos
          * 53: bind
        UDP Ports:
          * 88, 464: kerberos
          * 53: bind
          * 123: ntp
    2. You can now obtain a kerberos ticket using the command: ‘kinit admin’
       This ticket will allow you to use the IPA tools (e.g., ipa user-add)
       and the web user interface.

… и так как порты мы уже настраивали, переходим ко второму шагу — проверим, что система может выдать билет:

kinit admin

… после вводим пароль администратора, который указывали при конфигурировании FreeIPA.

Проверяем, что билет получен:

klist

Ответ должен быть, примерно, следующим:

Ticket cache: KEYRING:persistent:0:0
Default principal: [email protected]
Valid starting       Expires              Service principal
23.07.2019 08:53:02  24.07.2019 08:52:55  krbtgt/[email protected]

* где DMOSK.LOCAL — домен в моей системе. В данном примере мы получили билет для пользователя admin.

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

Далее, в работе используется командная строка SSH.
Инструментарий: Far Manager или Putty.
Для примера приводятся команды из под . Если Вы работаете не под , перед командами задавайте префикс

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

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

swapon -s

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

Filename                Type        Size    Used    Priority

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

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

free -m

Если в таблице в строке swap стоит 0, значит своп отсутствует.

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

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

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

Допустим, мы хотим создать swap-файл размером 4 гигабайта.
Далее, здесь существует 2 подхода, традиционный медленный и новый быстрый:

Быстрый способ
Используем :
fallocate -l 4G /swapfile

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

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

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

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

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

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

ls -lh /swapfile

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

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

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

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

chmod 600 /swapfile

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

ls -lh /swapfile

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

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

mkswap /swapfile

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

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

swapon /swapfile
swapon: /swapfile: swapon failed: Operation not permitted

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

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

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

Для начала нужно проверить сервер на наличие активированного своп-пространства. На самом деле, в рамках одной системы можно создать несколько областей своп, но в целом одной своп-области будет достаточно. Узнать, есть ли активное swap-пространство в текущей системе, можно при помощи утилиты общего назначения swapon. Запущенная с флагом -s, swapon выведет общую информацию об использовании своп и наличие своп-пространства на устройстве хранения.swapon -sЕсли эта команда ничего не вернула, значит, в данной системе нет активного своп-файла. Есть еще один способ проверить систему на наличие своп-пространства – это утилита free, которая показывает общее использование памяти системы. Чтобы узнать текущее состояние памяти и использование свопа (в мегабайтах), введите:

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

Как работает swap?

Ядро Linux хранит информацию в участках оперативной памяти, которые называются страницами. Одна программа может занимать огромное количество таких страниц, а значит – много места в RAM. Если новому процессу необходим доступ к физической памяти, создаются новые страницы. Но что если в оперативной памяти не осталось места для новых страниц?

Если программа не использует все страницы, выделенные ей в оперативной памяти, они могут быть удалены, после чего пространство перераспределяется. Это происходит потому, что файлы этих страниц при необходимости можно легко восстановить. Например, если программе А было выделено 10 страниц, но она занимает только 7 из них, то 3 страницы могут быть временно удалены и восстановлены тогда, когда они действительно необходимы. Тем временем пространство, занятое этими тремя страницами, может быть использовано другими программами.

Итак, какое же отношение имеет ко всему этому swap?

Иногда системе приходится удалять страницы из оперативной памяти, содержащие данные, которые не могут быть восстановлены в любое время. Информация, хранящаяся на них, не всегда доступна на жестком диске. Когда система удаляет подобные страницы, ей необходимо место, где можно было бы оставить эту важную информацию и не потерять ее. Это место и называется «swap».

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

Оптимизация SWAP

Оптимизация сводится к настройке двух параметров.

Параметр ядра swappiness

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

Определение используемого параметра swappiness:

$ cat /proc/sys/vm/swappiness
30

1
2

$catprocsysvmswappiness

30

Исходя из действующего значения принимаете решение об изменении. Изменим значение до 10:

$ sudo sysctl -w vm.swappiness=10
vm.swappiness = 10

1
2

$sudo sysctl-wvm.swappiness=10

vm.swappiness=10

параметр -w для сохранения этой настройки после перезагрузки.

Параметр ядра vfs_cache_pressure

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

Определение используемого параметра vfs_cache_pressure:

$ cat /proc/sys/vm/vfs_cache_pressure
100

1
2

$catprocsysvmvfs_cache_pressure
100

Исходя из действующего значения принимаете решение об изменении. Изменим значение до 1000:

$ sudo sysctl -w vm.vfs_cache_pressure=1000
vm.vfs_cache_pressure = 1000

1
2

$sudo sysctl-wvm.vfs_cache_pressure=1000

vm.vfs_cache_pressure=1000

Из чего состоят записи в /etc/fstab

Первое поле (fs_spec).

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

Для обычных монтирований он будет содержать (ссылку на) узел специального блочного устройства (созданный утилитой mknod) для монтируемого устройства, например, «/dev/cdrom» или «/dev/sdb7». Для монтирования NFS это поле — <host>:<dir>, например, «knuth.aeb.nl:/». Для файловых систем без хранилища можно использовать любую строку, которая будет отображаться, например, в выводе df. Обычно для procfs используется «proc»; а для tmpfs используются «mem», «none» или «tmpfs». Другие специальные файловые системы, такие как udev и sysfs, обычно не указываются в fstab.

Вместо имени устройства можно указать LABEL=<label> или UUID=<uuid>. Это рекомендуемый метод, поскольку имена устройств часто совпадают с порядком обнаружения оборудования и могут измениться при добавлении или удалении других дисков. Например, «LABEL=Boot» или «UUID=3e6be9de-8139-11d1-9106-a43f08d823a6». (Используйте инструмент, специфичный для файловой системы, например e2label, xfs_admin или fatlabel, чтобы установить LABEL в файловых системах).

Также можно использовать ARTUUID= и PARTLABEL=. Эти идентификаторы разделов поддерживаются, например, для таблицы разделов GUID (GPT).

Чтобы узнать UUID всех дисков используйте любую из следующих команд:

findmnt --real -o TARGET,SOURCE,FSTYPE,UUID
mount | grep "^/dev"
blkid
lsblk -o NAME,MAJ:MIN,RM,SIZE,RO,TYPE,UUID

Чтобы узнать UUID определённого диска, используйте любую из следующих команд:

findmnt --real -o TARGET,SOURCE,FSTYPE,UUID /dev/ДИСК
blkid /dev/ДИСК
lsblk -o NAME,MAJ:MIN,RM,SIZE,RO,TYPE,UUID /dev/ДИСК

Второе поле (fs_file).

Это поле описывает точку монтирования (цель) для файловой системы. Для разделов подкачки это поле должно быть указано как «none». Если имя точки монтирования содержит пробелы или табуляции, их можно использовать как «\040» и «\011» соответственно.

Третье поле (fs_vfstype).

Это поле описывает тип файловой системы. Linux поддерживает множество типов файловых систем: ext4, xfs, btrfs, f2fs, vfat, ntfs, hfsplus, tmpfs, sysfs, proc, iso9660, udf, squashfs, nfs, cifs и многие другие.

Запись подкачки в этом поле должна содержать «swap».

Запись «none» полезна для привязки или перемещения монтирований.

Можно указать несколько типов в списке, разделённом запятыми.

mount и umount поддерживают подтипы файловых систем. Подтип определяется суффиксом «.subtype». Например, «fuse.sshfs». Рекомендуется использовать нотацию подтипа, а не добавлять префикс в первое поле fstab (например, «sshfs#example.com» является устаревшим).

Четвёртое поле (fs_mntops).

В этом поле описаны параметры монтирования, связанные с файловой системой.

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

defaults

использовать параметры по умолчанию: rw, suid, dev, exec, auto, nouser и async.

noauto

не монтировать при использовании команды «mount -a» (например, во время загрузки)

user (пользователь)

позволяет монтировать указанному пользователю

owner (владелец)

позволяет монтировать указанному владельцу устройства

комментарий

или x-<name> для использования программами поддержки fstab

nofail

не сообщает об ошибках для этого устройства, если оно не существует.

Пятое поле (fs_freq).

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

Шестое поле (fs_passno).

Это поле используется fsck для определения порядка, в котором выполняется проверка файловых систем во время загрузки. Корневая файловая система должна быть указана с fs_passno равным 1.

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

Удаление SWAP навсегда

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

su -

Примечание: не удается получить su? Вместо этого вы можете работать с командой sudo -s.

sudo -s

Как только вы получите root-доступ в оболочке, напишите команду swapoff вместе с именем файла подкачки или раздела в конце команды. Например, чтобы отключить файл подкачки на вашем ПК с Linux, вы должны написать следующую команду.

Примечание: в этом примере имя файла подкачки — «файл подкачки». Ваш может отличаться!

swapoff /swapfile

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

Примечание: не забудьте заменить / dev / sdXY на метку вашего раздела подкачки, как показано в / proc / swaps.

swapoff /dev/sdXY

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

Чтобы навсегда удалить SWAP из вашей системы Linux, следуйте одной из приведенных ниже инструкций.

Удаление файла SWAP

Многие современные системы Linux перешли на использование файлов SWAP. Наличие файла подкачки — это прекрасно, поскольку от него гораздо проще избавиться, поскольку нет раздела, с которым можно было бы возиться или переформатировать.

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

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

su -

cd /

rm swapfile

Затем откройте / etc / fstab и удалите строку, в которой указан ваш раздел подкачки.

nano /etc/fstab

Когда вы полностью удалили строку файла SWAP в / etc / fstab, закройте редактор, нажав Ctrl + O и Ctrl + X.

Удаление раздела подкачки

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

Чтобы начать процесс удаления раздела, установите Gparted, редактор разделов. Не знаете, как его получить? Перейдите на эту страницу Pkgs.org. В нем есть список того, как получить Gparted почти в каждом дистрибутиве.

Примечание: если вы используете Fedora или другой дистрибутив Linux с LVM, вы должны удалить раздел SWAP с Менеджер разделов KDE, а не Gparted, поскольку он позволяет пользователям управлять разделами LVM на лету.

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

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

Закройте Gparted, когда изменения вступят в силу, и запустите терминал. В терминале откройте файл / etc / fstab в Nano.

sudo nano /etc/fstab

С помощью редактора Nano удалите строку, относящуюся к вашему разделу подкачки. Затем сохраните его с помощью Ctrl + O и выйдите из редактора с помощью Ctrl + X.

Настройка и подключение клиента

DNS

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

  1. Пример настройки сети в CentOS / Rocky Linux
  2. Настройка сети с помощью netplan (Debian, Ubuntu).
  3. В устаревающих системах на основе deb настройка выполняется в файле /etc/network/interfaces (опция dns-nameservers) или /etc/resolv.conf (опция nameserver).

Время

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

В первую очередь, укажем часовой пояс:

timedatectl set-timezone Europe/Moscow

* командой timedatectl list-timezones можно посмотреть список всех часовых поясов.

Устанавливаем утилиту для синхронизации времени, разрешаем запуск демона и стартуем его.

а) если на системе Ubuntu / Debian:

apt-get install chrony

systemctl enable chrony

б) если на системе Rocky Linux / CentOS / Red Hat:

yum install chrony

systemctl enable chronyd —now

Подключение к домену

Устанавливаем freeipa-client.

а) на компьютеры с Red Hat / CentOS:

yum install freeipa-client

б) на компьютеры с Debian / Ubuntu:

apt-get install freeipa-client

Выполним конфигурирование клиента:

ipa-client-install —mkhomedir

Система на основе данных из DNS попробует определить настройки и либо попросит ввести наш домен (если не сможет найти данные автоматически):

DNS discovery failed to determine your DNS domain
Provide the domain name of your IPA server (ex: example.com): dmosk.local

… либо отобразить настройки в консоли, например:

Discovery was successful!
Client hostname: freeipa-client.dmosk.local
Realm: DMOSK.LOCAL
DNS Domain: DMOSK.LOCAL
IPA Server: ipa-server.dmosk.local
BaseDN: dc=dmosk,dc=local

Если эти настройки верны, отвечаем положительно на запрос Continue to configure the system with these values?

Continue to configure the system with these values? : yes

Система спросит, от какого пользователя производить настройку — вводим admin:

User authorized to enroll computers: admin

… и пароль:

Password for [email protected]:

Начнется процесс конфигурации — после его завершения:


Configured /etc/openldap/ldap.conf
NTP enabled
Configured /etc/ssh/ssh_config
Configured /etc/ssh/sshd_config
Configuring DMOSK.LOCAL as NIS domain.
Client configuration complete.
The ipa-client-install command was successful

… сразу проверим, что клиент может получать билет от сервера:

kinit admin

…  и вводим пароль от пользователя admin.

Проверяем, что билет получен:

klist

Ответ должен быть, примерно, следующим:

Ticket cache: KEYRING:persistent:0:0
Default principal: [email protected]
Valid starting       Expires              Service principal
25.07.2019 23:39:56  26.07.2019 23:39:52  krbtgt/[email protected]

Клиент настроен.

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

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

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

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

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

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

/etc/sysctl.conf
 

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

Файл подкачки и быстродействие компьютера

Виртуальная память НИКАК не увеличивает быстродействие системы, её расширение нужно для того, чтобы программы или игры просто смогли РАБОТАТЬ на компьютере с недостаточным объёмом ОЗУ.

Вот как это работает:

  • Вы запускаете приложение №1, для которого не хватает памяти
  • Все временно ненужные процессы №2 сбрасываются на диск в файл подкачки, освобождая тем самым оперативную память, ваша программа №1 работает
  • Вдруг, система вызывает процесс №2 из виртуальной памяти, оперативка при этом «забита»
  • Теперь нужно найти другой «ненужный» процесс №3, среда исполнения которого записывается на диск, а с диска считывается в оперативную память процесс №2

Как вы понимаете, операции записи-чтения с жесткого диска в сотни раз медленнее ОЗУ (на то она и «оперативная» ) и ни о каком увеличении скорости работы речи не идёт. Разве что когда память кончается, и её негде взять, то система начинает подвисать. Когда установлен SSD, а не HDD диск, то файл подкачки работает в разы быстрее, конечно.

Зачем отключать файл подкачки

При большом объёме оперативной памяти, лучше вовсе отключить подкачку чтобы исключить лишние обращения к диску. Т.к., даже когда памяти хватает для работы, Windows находит что записать в «pagefile.sys» . Например, при объёме оперативы 8Гб, 16Гб -32Гб можно попробовать удалить файл подкачки и поработать. Если Вашим приложениям хватает памяти, то отлично. В противном случае Windows покажет ошибку «Не хватает памяти…», тогда придётся добавить немного файл подкачки.

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.

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

При использовании swap есть целый ряд вещей, которые нужно иметь в виду. Поскольку swap находится на жестком диске, он гораздо медленнее, чем ОЗУ. Это значит, что операционная система должна использовать его только при необходимости. Если страницы будут перемещаться в swap-пространство до того, как оперативная память заполнена, это существенно замедлит работу сервера.

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

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

Значение 60 установлено по умолчанию и отлично подходит для VPS. К примеру, значение swappiness для рабочего стола лучше приблизить к 0. Чтобы протестировать разные значения swappiness, используйте «sysctl»:

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

Чтобы сделать это значение значением по умолчанию, нужно отредактировать файл «/etc/sysctl.conf».

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

Еще один параметр, который нужно подогнать, называется «vm.vfs_cache_pressure». Отредактировав значение «cache pressure», можно изменить предпочтение системы хранить кэш-информацию «inode» и «dentry» по сравнению с другими видами информации. Это значит, что ОС будет дольше хранить информацию о той файловой системе, которая потребляет много ресурсов при просмотре и часто запрашивается. Это, как правило, приводит к росту производительности.

Текущее значение можно увидеть в каталоге /proc.

Текущее значение выводит информацию «inode» из кэша быстрее, чем нужно. Значение «cache pressure» 50 будет в данном случае намного лучше. Данное значение можно установить таким же образом, что и swappiness.

Опять же, чтобы данное значение оставалось действительным даже после перезагрузки, внесите его в файл «/etc/sysctl.conf».

Это делает значение «cache pressure» постоянным.

Arch LinuxCloud ServerLinuxSWAP

Настройка swappiness

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

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

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

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

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

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

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