Как добавить Swap на CentOS6

Что такое Linux Swapping?

Оперативная память Linux состоит из участков памяти, которые называют страницами. Linux Swap применяется для освобождения страниц памяти и работает путем копирования страниц из ОЗУ в заданное на жестком диске место. Linux swaps позволяют использовать больше памяти, чем физически доступно изначально.

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

Проверка пространства Swap

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

swapon -s

Если результат не возвращается, то список пуст и других swap-файлов не существует.

Проверка файловой системы

Убедившись в том, что других активированных swap-файлов нет, можно запустить команду df, чтобы узнать, сколько места есть на сервере. Файл swap займет 512MB; так как используется всего 7% от /dev/hda, можно продолжать.

df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda              20642428   1347968  18245884   7% /

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

Теперь нужно создать swap-файл, используя команду dd:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=512k

Строка «of=/swapfile» указывает имя файла. В данном случае имя файла – swapfile.

Затем нужно подготовить swap-файл, создав swap-зону linux:

sudo mkswap /swapfile

Будет выведен результат:

Setting up swapspace version 1, size = 536866 kB

В завершение активируйте swap-файл:

sudo swapon /swapfile

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

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

Этот файл будет оставаться на сервере до перезагрузки. Чтоб сделать swap-файл постоянным, добавьте его в файл fstab.

Откройте файл:

sudo nano /etc/fstab

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

/swapfile          swap            swap    defaults        0 0

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

chown root:root /swapfile
chmod 0600 /swapfile

Конфигурирование Swappiness

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

cat /proc/sys/vm/swappiness
60

Значение swapiness может варьироваться от 0 до 100. Swappiness около 100 значит, что операционная система будет использовать Swap часто и заранее. Хотя swap предоставляет дополнительные ресурсы, оперативная память значительно быстрее пространства swap. При всяком переносе страниц памяти из оперативки на swap сервер теряет производительность.

Значение swappiness около 0 значит, что ОС будет полагаться на swap только в случае крайней необходимости. Значение swappiness можно установить при помощи команды sysctl:

sysctl vm.swappiness=10
vm.swappiness=10

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

cat /proc/sys/vm/swappiness
10

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

sudo nano /etc/sysctl.conf
# Search for the vm.swappiness setting.  Uncomment and change it as necessary.
vm.swappiness=10

Чтобы обеспечить оптимальное функционирование VPS, можно задать значение swappiness 0.

Tags: , , ,

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