Как добавить swap в Linux Centos на VDS DigitalOcean

Опубликовано: 3 июля 2013   ( с изм. от 14 февраля 2018 )
Раздел(ы): GNU Linux - CentOS / Debian
Просмотры: 25192
Комментарии: 4

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

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

В Линуксе пространство подкачки бывает двух видов: раздел подкачки (swap partition) и файл подкачки (swap file). В ядрах Linux 2.6 и новее работа swap-файла не уступает по производительности swap-разделу.

Для начала проверим сколько swap пространства имеется у нас в системе:

# swapon -s

В случае со свежеустановленном сервером CentOS от DigitalOcean у Вас должно быть пусто.
Для полной уверенности выполним free:

# free
             total       used       free     shared    buffers     cached
Mem:        502464     490880      11584          0      22408     310004
-/+ buffers/cache:     158468     343996
Swap:            0          0          0

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

# df -h

и полчим примерно такой вывод:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda               20G  1.7G   17G  10% /
none                  246M     0  246M   0% /dev/shm

Как видим места предостаточно. Самое время создать файл подкачки. Размер файла подкачки вопрос философский. Для начала его нужно сделать равным размеру оперативной памяти и следить за его использованием. При необходимости увеличиваем. На серверах с малым размером оперативной памяти объем swap может быть больше в 2 или 3 раза.
Я для своего сервера с размером оперативной памяти 512 МБ создам файл подкачки такой же величины:

# dd if=/dev/zero of=/swapfile bs=1M count=500
# mkswap /swapfile
# swapon /swapfile

Проверим, что мы натворили:

# swapon -s

Результат:

Filename                                Type            Size    Used    Priority
/swapfile                               file            511992  0       -1

А также по команде free:

# free
             total       used       free     shared    buffers     cached
Mem:        502464     494120       8344          0       3256     378424
-/+ buffers/cache:     112440     390024
Swap:       511992          0     511992

Как видно все замечательно. Но все наши старания пропадут при следующей перезагрузке сервера. Поэтому пропишем необходимые настройки в файлы конфигурации сервера.
Редактируем любым удобным для Вас способом файл /etc/fstab. К примеру так:

# nano /etc/fstab

И добавляем в него следующую строку:

/swapfile          swap            swap    defaults        0 0

Либо одной командой:

# echo -e 'n/swapfile          swap            swap    defaults        0 0' >> /etc/fstab

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

# chown root:root /swapfile 
# chmod 0600 /swapfile

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

Использованные источники

  1. How to Add Swap on CentOS 6
  2. Файл подкачки: swap-файл и swap-раздел в Linux

Обсуждение (комментарии к статье)

    1. Сергей, это нормально. Значит сейчас в использовании SWAP нет необходимости, то есть серверу для своих нужд хватает оперативной памяти. Проверьте через некоторое время, например через день.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности сайта.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

© Юрий Рассадников, 2011 - 2021
uptime узнать
Домен : reg.ru
Хостинг : adman.com
SQL - 13 | 0,118 сек. | 10.61 МБ