Поиск по сайту:

Как добавить своп в Ubuntu 12.04


Статус: устарело

В этой статье рассматривается версия Ubuntu, которая больше не поддерживается. Если вы в настоящее время используете сервер под управлением Ubuntu 12.04, мы настоятельно рекомендуем обновить или перейти на поддерживаемую версию Ubuntu:

  • Обновите Ubuntu до версии 14.04.
  • Обновление Ubuntu 14.04 до Ubuntu 16.04
  • Перенесите данные сервера в поддерживаемую версию.

Причина:

См. вместо этого:

О замене Linux

Оперативная память Linux состоит из блоков памяти, называемых страницами. Чтобы освободить страницы ОЗУ, может произойти «подкачка Linux», когда страница памяти копируется из ОЗУ в предварительно сконфигурированное пространство на жестком диске. Подкачки Linux позволяют системе использовать больше памяти, чем было изначально физически доступно.

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

Хотя подкачка обычно рекомендуется для систем, использующих традиционные вращающиеся жесткие диски, использование подкачки с твердотельными накопителями может со временем вызвать проблемы с аппаратной деградацией. В связи с этим мы не рекомендуем включать своп в DigitalOcean или любом другом провайдере, который использует хранилище SSD. Это может повлиять на надежность базового оборудования для вас и ваших соседей.

Если вам нужно повысить производительность вашего сервера, мы рекомендуем обновить Droplet. Это приведет к лучшим результатам в целом и снизит вероятность возникновения проблем с оборудованием, которые могут повлиять на вашу службу.

Проверить пространство подкачки

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

sudo swapon -s

Пустой список подтвердит, что у вас не включены файлы подкачки:

Filename				Type		Size	Used	Priority

Проверьте файловую систему

После того, как мы узнаем, что у нас не включен файл подкачки на виртуальном сервере, мы можем проверить, сколько места у нас есть на сервере с помощью команды df. Файл подкачки займет 256 МБ — поскольку мы используем только около 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

Создайте и включите файл подкачки

Теперь пришло время создать сам файл подкачки с помощью команды dd:

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

\of=/swapfile обозначает имя файла. В данном случае это имя файла подкачки.

Впоследствии мы собираемся подготовить файл подкачки, создав область подкачки linux:

sudo mkswap /swapfile

Отображаются результаты:

Setting up swapspace version 1, size = 262140 KiB
no label, UUID=103c4545-5fc5-47f3-a8b3-dfbdb64fd7eb

Завершите активацией файла подкачки:

sudo swapon /swapfile

Затем вы сможете увидеть новый файл подкачки при просмотре сводки подкачки.

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

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

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

sudo nano /etc/fstab

Вставьте в следующую строку:

 /swapfile       none    swap    sw      0       0 

Для параметра подкачки в файле должно быть установлено значение 10. Пропуск этого шага может привести к снижению производительности, тогда как установка значения 10 приведет к тому, что подкачка будет действовать как аварийный буфер, предотвращая сбои из-за нехватки памяти.

Вы можете сделать это с помощью следующих команд:

echo 10 | sudo tee /proc/sys/vm/swappiness
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf

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

sudo chown root:root /swapfile 
sudo chmod 0600 /swapfile