SWAP в Linux: Создание, редактирование и удаление раздела или файла - Справочник Манимейкера или Народные ссылки old



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 файла.

Народная ссылка для регистрации:

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

Категории:

Поделитесь этой записью или добавьте в закладки

   






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





Другие материалы и статьи
» Глоссарий и методы получения уникального контента: Представляю краткий глоссарий и методы для наполнения сайтов уникальным контентом в продолжение темы "У...
» Биржа трафика "Click Under" : Cистема купли-продажи трафа по технологии CLICK-UNDER, POP-UNDER и рекламная линия с&nbs...
» Зачем и как с минимальными потерями обменять электронную валюту: Сегодня, когда возможностью работать удаленно и покупать абсолютно любые товары в интернете уже никого ...
» Движок для блога Movable Type - часть 3 (преимущества): На написание этой части меня сподвигли возмущённые комментарии поклонников Wordpress. Хотя в первой час...
» Заработай на ЛЮБОЙ интернет-ссылке...: Размещайте ссылки на форумах и блогах, на своих сайтах и блогах, на чужих сайтах и блогах. Любые&n...

Категории


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

  •