Что такое Linux Swapping?
Оперативная память Linux состоит из участков памяти, которые называют страницами. Чтобы освободить страницы памяти, можно провести «Linux Swap», тогда страница памяти скопируется из ОЗУ на выбранное вами место на жестком диске. Linux swaps позволяют системе использовать больше памяти, чем было физически доступно изначально.
Тем не менее, swapping имеет свои недостатки. Так как память на жестком диске гораздо медленнее, чем оперативная память, производительность виртуального выделенного сервера может значительно упасть. Кроме того, может случиться swap-пробуксовка, если система засоряется большим количеством подкачанных и откачанных файлов.
Проверка Swap-пространства
Прежде чем установить swap-файл, нужно проверить, активировались ли на VPS другие swap-файлы, заглянув в сведения об использовании swap
sudo swapon –s
Пустой список подтвердит, что swap-файлы активированы не были:
Filename Type Size Used Priority
Проверка файловой системы
Убедившись, что на виртуальном сервере нет других активированных swap-файлов, вы можете проверить, сколько места есть на сервере, с помощью команды df. Swap-файл займет 512MB – так как используется только около 8% от /dev/sda, можно продолжать.
df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda 20907056 1437188 18421292 8% /
udev 121588 4 121584 1% /dev
tmpfs 49752 208 49544 1% /run
none 5120 0 5120 0% /run/lock
none 124372 0 124372 0% /run/shm
Создание и активация Swap-файла
Теперь пора создать сам swap-файл, используя команду dd:
sudo dd if=/dev/zero of=/swapfile bs=1024 count=512k
«of=/swapfile» обозначает имя файла. В данном случае имя файла – «swapfile».
Затем подготовим swap-файл, создав в linux swap-зону:
sudo mkswap /swapfile
Результаты выглядят так:
Setting up swapspace version 1, size = 262140 KiB
no label, UUID=103c4545-5fc5-47f3-a8b3-dfbdb64fd7eb
Закончим активацией swap-файла:
sudo swapon /swapfile
После этого можно увидеть новый swap-файл, просмотрев сведения об использовании swap
swapon -s
Filename Type Size Used Priority
/swapfile file 262140 0 -1
Этот файл останется на виртуальном выделенном сервере до тех пор, пока машина не перезагрузится. Чтоб гарантировать постоянную работу swap, добавьте его в файл fstab.
Откройте файл:
sudo nano /etc/fstab
Внесите следующую строку
/swapfile none swap sw 0 0
Уровень swap в файле должен быть установлен на 0. Невыполнение этого действия может привести к снижению производительности, тогда как заданное значение 0 заставит swap работать как аварийный буфер, предотвращая тем самым сбои из-за недостатка памяти.
Это можно сделать при помощи следующей команды:
sudo su -
echo 0 > /proc/sys/vm/swappiness
exit
Чтоб сделать файл недоступным для чтения другими пользователями, нужно установить соответствующие права доступа в swap-файле:
sudo chown root:root /swapfile
sudo chmod 0600 /swapfile