Текущее время: 24 ноя 2020, 18:18

Русская поддержка форума phpBB

Это сайт русской поддержки phpBB

Добавляем swap на CentOS 7

Аватара пользователя
Сообщения: 355
Стаж: 8 лет 8 месяцев
Карма: 30
Россия

Сообщение » 12 мар 2018, 22:41

Своп (англ. Swap) – это область на диске хранения, где операционная система может временно хранить данные, которые она больше не может хранить в памяти. Его добавление — это один из самых простых способов сделать ваш сервер более гибким и защищать от ошибок, связанных с нехваткой памяти в вашем приложении или сайте.

Проверка наличия Swap
Для начала давайте проверим, нет ли у вас уже настроенного свопа, для этого введите команду:
Код: Выделить всё
swapon -s

Команда вернула пустой результат, значит все хорошо и у вас нет настроенного свопа. Так же можно проверить наличие свопа командой:
Код: Выделить всё
free -m

в ответ вы увидите что раздел swap имеет нулевой размер.
Перед тем как создать swap файл, проверьте доступное дисковое пространство командой:
Код: Выделить всё
df -h

Создание Swap файла на CentOS 7
В зависимости от общего количества установленной оперативной памяти, вам нужно определиться с размером будущего swap файла. Я воспользуюсь старой рекомендацией: размер swap=установленная оперативка*2. Создаем командой:
Код: Выделить всё
sudo dd if=/dev/zero of=/swapfile count=4096 bs=1MiB

как видите, в моем случае будет создан своп файл размером 4гб. Создание файла занимает некоторое время, запаситесь терпеньем. По окончании вы увидите отчет, типа такого:
Код: Выделить всё
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB) copied, 125.762 s, 34.2 MB/s

Активация Swap на CentOS 7
После создания файла, нужно указать системе на его наличие. Для этого сначала укажем свопу необходимые права:
Код: Выделить всё
sudo chmod 600 /swapfile

проверим права командой:
Код: Выделить всё
ls -lh /swapfile

в ответ должны получить такие права:
Код: Выделить всё
 -rw------- 1 root root 4.0G May 26 12:12 /swapfile

Теперь, когда наш файл подкачки стал безопасен, мы можем сообщить нашей системе, что нужно создать пространство подкачки для его использования, набрав:
Код: Выделить всё
sudo mkswap /swapfile

В ответ получим похожий результат:
Код: Выделить всё
Setting up swapspace version 1, size = 4194300 KiB

no label, UUID=9b33d9f9-afef-4b99-8e93-b6082ecf8d00

Теперь наш файл подкачки готов к использованию в качестве места подкачки. Мы можем начать использовать его, набрав:
Код: Выделить всё
sudo swapon /swapfile

Перезагрузка одной командой:
Код: Выделить всё
reboot

Готово! Ваш файл подкачки создан и подключен. Проверить что он используется системой можно с помощью команды:
Код: Выделить всё
swapon -s

в ответ увидим:
Код: Выделить всё
Filename                                Type            Size    Used    Priority

/swapfile                               file    4194300 0       -1

либо через панель управления сервером ISPmanager.

Добавим swap в автозагрузку
Сейчас у вас настроен и запущен своп, но при перезагрузке системы, он у вас снова будет отключен. Чтобы система автоматически включала его при старте системы, необходимо открыть файл
Код: Выделить всё
sudo nano /etc/fstab

и добавить в конец файла строку:
Код: Выделить всё
/swapfile   swap    swap    sw  0   0

Теперь, при перезагрузке сервера, swap файл будет автоматически подключаться

Удалить SWAP файл
Если же вы решите удалить своп файл, то это делается следующим образом:
Код: Выделить всё
swapoff -v /swapfile

Удаляем все записи своп файла в /etc/fstab
Код: Выделить всё
/dev/vda2       swap                    swap    defaults        0 0


Частично взято: здесь.

Аватара пользователя
Сообщения: 355
Стаж: 8 лет 8 месяцев
Карма: 30
Россия

Сообщение » 04 май 2018, 16:07

Второй вариант:

Создаем файл необходимого размера для swap области, где /home/swap-tmp - это имя и путь файла, а count=2048K его размерв, в данном случае - 2048 Мб):
Код: Выделить всё
sudo dd if=/dev/zero of=/swapfile bs=1024 count=2048K


Далее производим запись в начало файла системную информацию, которая будет используется ядром системы для работы с файлом подкачки:
Код: Выделить всё
sudo mkswap /swapfile


Следующим шагом активируем только что созданный SWAP файл:
Код: Выделить всё
sudo swapon /swapfile

Для просмотра результата просматриваем все объекты, которые используются для размещения виртуальной памяти:
Код: Выделить всё
cat /proc/swaps



После перезагрузки системы SWAP файл необходимо активировать снова или добавить строчка для автоматической загрузки в файл fstab.
Редактировать файл fstab можно самостоятельно или командой, которая добавляет в конец файла fstab строку
Код: Выделить всё
/swapfile swap swap defaults 0 0:


Код: Выделить всё
echo "/swapfile swap swap defaults 0 0" | sudo tee -a /etc/fstab


Тоже самое действие но добовление через UUID, который присваивается в пункте 2:
Код: Выделить всё
echo "UUID=54c60583-e61a-483a-a15c-2f1be966db85 swap swap defaults 0 0" | sudo tee -a /etc/fstab


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

Просматриваем все объекты, которые используются для размещения виртуальной памяти
Код: Выделить всё
cat /proc/swaps

Выбираем ненужный.
Деактивируем, для примера, созданный выше SWAP файл:
Код: Выделить всё
sudo swapoff /swapfile

Удаляем SWAP файл:
Код: Выделить всё
sudo rm /swapfile


Если Вы раньше добавляли строчку в fstab, для автоматической загрузки SWAP файла при старте операционной системы, то следует ее удалить. Выводим файл /etc/fstab для редактирования на экран:
Код: Выделить всё
sudo gedit /etc/fstab

В нем удаляем строчку монтирования SWAP файла.
Если нужен стиль для сайта, стучите: ICQ 560107181


Вернуться в Примеры решений по Linux



Кто сейчас на конференции

Сейчас этот форум просматривают: нет пользователей онлайн и гости: 1