SWAP в Linux: Создание, редактирование и удаление раздела или файла

И что же такое Swap в Linux?

Если сервер пытается запустить программу, которая требует больше оперативной памяти, чем доступно, операционка для решения задачи используют технологию swapping ("подкачка"). Суть этой технологии заключается в том, что объем данных, который не помещается в оперативную память временно хранится на жестком диске, в то время как другая часть данных обрабатывается. Рассмотрим два варианта управления своп-разделами в Linux для повышения производительности системы.

В ОС Linux оперативная память (ОЗУ, RAM, random access memory) делится на разделы, называемые страницами (pages). Swapping ("подкачка", своппинг) -
это процесс во время которого страницы памяти копируются в сконфигурированный специально раздел диска, который называется swap space
(раздел подкачки, может быть как и файлом, так и разделом жесткого диска) для того чтобы освободить ОЗУ.
Совокупные размеры физической памяти и раздела подкачки - это объем имеющийся виртуальной памяти.

Своппинг крайне необходим потому что когда системе необходимо больше памяти (приложение или процесс запрашивает у системы больше памяти) чем сейчас свободно в ОЗУ,
ядро разгружает ("откачивает") наименее используемые страницы и освобожденную память выделяет текущему приложению или процессу. А также,
значительное количество страниц используемых программами на стадии запуска, используются только при инициализации и никогда более.
Поэтому система свапит эти страницы и освобождает ОЗУ.

У своппинга конецчно есть и недостатки. Ведь по сравнению с ОЗУ работа с жестким диском осуществляется на порядоки медленнее.
На чтение/запись в ОЗУ используются наносекунды, а на жесткий диск уже используются миллисекунды, поэтому одни и те же операции на жестком диске занимают в десятки тысяч больше времени чем в ОЗУ.
Поэтому чем больше страниц спаппится, тем медленнее будет работать ваша система.

Однако для выделенного сервера в некоторых ситуациях своппинг помогает не повесить сервер. Т.е. благодаря подкачки вы будете иметь хоть какое-то (пусть очень замедленное) но все-таки управление сервером.

В Linux есть два вида своппа: раздел подкачки и файл подкачки. Раздел подкачки - это отдельный раздел на жестком диске, используемый только для своппинга, никакие другие файлы не могут там располагаться. В Linux работа с этим разделом происходит на низком уровне. Файл подкачки - это специальный файл в файловой системе.


Swap partition, своп-раздел

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

swapon -s.

Filename Type Size Used Priority
/dev/sda7 partition 859436 0 -1

Каждая строчка в этом списке описывает имеющиеся у вас своп пространства. В поле "Type" указывается тип пространства: partition (раздел) или file (файл). Поле "Filename" показывает местоположение свопа. Далее идет общий размер свопа и сколько сейчас используется. В последнем поле указан приоритет, т.е. какие пространства системе использовать вначале. Стоит отметить, что если примонтировать несколько своп-простанств расположенных на разных жестких дисках, и выставить им одинаковый приоритет, то Linux будет равномерно распределять страницы памяти по ним, что приведет к существенному увеличению производительности системы.

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

fdisk -l /dev/hdb

Замените /dev/hdb на на путь к устройству где будет расположен своп. Результат должен выглядеть примерно так:

Device Boot Start End Blocks Id System
/dev/hdb1 2328 2434 859446 82 Linux swap / Solaris

Если раздел не помечен как swap, то используйте программу fdisk с ключом t, будьте осторожны во время этой процедуры, а то останетесь без своего линукса и других ОС, проверьте раздел на наличие нужной информации перед тем, как сделать из него swap.

Как только раздел помечен как своп, необходимо подготовить, для этого используется следующая команда:

mkswap /dev/hdb1

Если никаких ошибок нет, то можно подключать своп-раздел:

swapon /dev/hdb1

Проверить результат можно вышеупомянутой командой: 

swapon -s.

Для того что бы новый своп автоматически монтировался при старте системы, необходимо внести некоторые изменения в файл /etc/fstab, в котором содержатся все файловые системы и свопы, монтирующиеся при старте. Формат файла следующий:


Таким образом, swap-space - это специальный тип файловой системы. Для добавления нового свопа добавьте следующую строку:

/dev/hdb1 none swap sw 0 0

Для того что бы проверить примонтируется ли новый своп-раздел при старте, отключите все свопы командой swapoff -a. Затем командой swapon -a, включите свопы, загрузятся те, которые перечислены в файле /etc/fstab. Ну и наконец командой swapon -s проверьте, какие сповы примонтировались.

Создание SWAP файла

Создаем файл необходимого размера для swap области, где /home/swap-tmp - это имя и путь файла, а count=1024K его размерв, в данном случае - 1024 Мб):

# sudo dd if=/dev/zero of=/home/swap-tmp bs=1024 count=1024K

На экране получим:

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

# sudo mkswap /home/swap-tmp


Следующим шагом активируем только что созданный SWAP файл:

# sudo swapon /home/swap-tmp

Для просмотра результата просматриваем все объекты, которые используются для размещения виртуальной памяти:

# cat /proc/swaps

После перезагрузки системы SWAP файл необходимо активировать снова или добавить строчка для автоматической загрузки в файл fstab.

Редактировать файл fstab можно самостоятельно или командой, которая добавляет в конец файла

fstab строку /home/swap-tmp swap swap defaults 0 0:

# echo "/home/swap-tmp swap swap defaults 0 0" | sudo tee -a /etc/fstab

Тоже самое действие но добавление через UUID:

# echo "UUID=54c60583-e61a-483a-a15c-2f1be966db85 swap swap defaults 0 0" | sudo tee -a /etc/fstab

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

Просматриваем все объекты, которые используются для размещения виртуальной памяти

# cat /proc/swaps

Выбираем ненужный.

Деактивируем, для примера, созданный выше SWAP файл:

# sudo swapoff /home/swap-tmp

Удаляем SWAP файл:

# sudo rm /home/swap-tmp

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

# sudo gedit /etc/fstab

В нем удаляем строчку монтирования SWAP файла.







Комментировать





  • » Directadmin: подготовка к установке
  • » Новый алгоритм Яндекса "Конаково" ?
  • » Читайте фантастику онлайн!
  • » Партнерская программа Own Dating
  • » Анонс партнерской сети Ping Media
  • » Покупаем мелкие монеты за 5 тысяч рублей
  • » Биржа мобильного трафика Wizard Mobile
  • » CentOS : VPN Server установка и настройка
  • » Система контекстной рекламы Rich Сlick
  • » Лучшие из лучших...
  • » CentOS: CGI скрипты в apache 2.0
  • » Партнерская программа интернет-магазина ГудБоди
  • » Сервис оценки стоимости поискового продвижения и раскрутки сайта
  • » Партнёрская программа R-Money (рефераты, дипломы, переводы)
  • » Заработок на бесплатном файл-хостинге и авторские права
  • » Социальная сеть рекламодателей и блогеров "Profit Blog"
  • » RBK Money - электронная платежная система
  • » Система по покупке и продаже трафика Ru Click
  • » FOREX-прогноз на апрель 2010 от Алексея Трифонова
  • » Партнерская программа для женских сайтов
  • » Русскоязычный сервис парковки доменов
  • » PPA партнерка для RU, DE и ENG трафа Admit Ad
  • » Новый алгоритм Яндекса "Обнинск"
  • » Глоссарий SE/SEO
  • » Рекламный брокер по покупке и продаже трафика "ТаК"
  • » Партнерская программа знакомств Cute Only
  • » Биржа авторазмещения статей ROOIT
  • » CentOS: Установка OpenVPN
  • » Аутсайдеры ссылочного рынка - гении или психи?
  • » Система размещения пресс-релизов и статей "Jab to job"
  • » Обновление ТИЦ 10.12.10
  • » Методы продвижения сайтов
  • » Образование с Sape. Расписание на май
  • » Mail.ru Group VS Яндекс.деньги
  • » Инструкция: как избавиться от реферального спама в отчетах Google Analytics
  • » Сервис переехал
  • » Рекламные посты снова запрещены?
  • » SeoPult на Russian Internet Week
  • » Теперь мы работаем с ASP и PHP!
  • » 19 декабря: вебинар «Как создать или обновить интернет-магазин? Выгодно и современно!»
  • » Устранены ограничения на пополнение счета физическими лицами с помощью банковских карт
  • » Подключайтесь к трансляции конференции «Всё о Windows 8.1»
  • » Решаем проблемы
  • » Ваш главный шаг на первую страницу
  • » Биржа покупки и продажи ссылок FatLink
  • » Статус-предупреждение для проекта
  • » Нужно ли «допиливать» публикацию до шедевра: полезный совет для блогеров и рекламодателей
  • » Онлайн-конференция «Копирайтинг на Миллион»
  • » Выплаты и бонусы
  • » 5 и 6 марта: i-СOMference 2013
  • » Апдейт ТИЦ
  • » Окно в европу: представляем MainLinkAds
  • » Обновление ТИЦ 17.07.2012
  • » Конец света: “Скажи, чего ты хочешь?”
  • » Конференция PROOFSEO
  • » История поиска ссылок
  • » АП тИЦ 06.08.2010
  • » 14-17 апреля SEO-Интенсив от учебного центра Search Engine Education
  • » Как вести успешный блог о чем угодно
  • » Userator - продвижение сайта за счет социальных и поведенческих факторов


Категории


Последние записи

Полезные заметки

Популярные записи