Для чего нужен раздел swap?

Содержание

Для чего нужен раздел swap?

Современные устройства, функционирующие на различных операционных системах, имеют файл подкачки. Он служит для подстраховки оперативной памяти компьютера. В этом вопросе ОС Linux не является исключением из правила.

Для чего это необходимо? Когда пользователь ПК загружает оперативную память под завязку, устройство получает дополнительный объем памяти из файла подкачки. В каких ситуациях это может потребоваться:

  1. Для сохранения нормальной производительности компьютера в том случае, если запас ОЗУ постепенно заканчивается. Без файла подкачки устройство начнет заметно притормаживать. Это отрицательно скажется на комфорте работы с ПК.
  2. Для оптимального распределения приоритетов (система определит, какой вид памяти будет выделен на те или иные процессы).

Эта информация пригодится всем, кто имеет дело со swap. Данный термин имеет следующее значение: swap – это файл в системном разделе или отдельный раздел диска. В большинстве своем его принято создавать в процессе установки ОС. Но если есть такая необходимость, можно создать swap в любой другой момент времени.

В отдельно взятых случаях желание пользователя относительно присутствия swap на ПК не учитывается. В некоторых версиях ОС Ubuntu Linux файл подкачки создается по умолчанию, и с этим уже ничего не поделать. Остается лишь принять это, как факт. Многие юзеры не довольны таким решением, поскольку файл подкачки на их компьютерах занимает порядком 1 Гб памяти.

Проверка на наличие файла подкачки в ОС Linux

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

Чтобы посмотреть swap в операционной системе Линукс, необходимо задать определенную команду. Она выглядит следующим образом:

  1. total — всего памяти.
  2. used — сколько используется в данный момент.
  3. free — свободная память, не используется.

К сожалению, данная команда показывает только общую информацию (total, used, free) и не может дать четкого определения тому, что это файл подкачки или смонтированный раздел. Именно поэтому для дополнительноой проверки воспользуемся другой командой — swapon.

Как видно из скриншота выше, swap находится в разделе /dev/sda5, размером 2,8 gb и это не файл.

Давайте предположим следующий возможный вариант развития сценария: файл подкачки отсутствует на вашем компьютере. Как это выявить? Введите в терминале команду free -h, и ознакомьтесь с полученной информацией. Если в строке «Подкачка» стоят сплошные нули, то swap не создан в операционной системе Linux.

Создание swap Linux

Если файла подкачки нет, будет логичным приняться за его создание. Далее вы ознакомитесь с пошаговой инструкцией по созданию swap для Линукс.

Воспользуйтесь терминалом для реализации задуманного.

# fallocate -|1G /swapfile

Примечание: 1 G – величина файла подкачки.

Чтобы защитить swap, необходимо установить на этот файл нужные права. Сделайте это при помощи:

# chmod 600 /swapfile

Примечание: в конце этой строки стоит название swap файла. Наименование выбирается на свое усмотрение. Его можно поменять.

Права 600 означает — владелец может читать/писать, остальным все запрещено.

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

По завершению операций, описанных выше, ОС Линукс начинает понимать, что новый объект возьмет на себя роль файла подкачки. Пришло время активировать его. Для этих целей введите в терминале следующее:

Как посмотреть, произошло ли распознание файла подкачки? Задайте в строке следующую команду:

При правильном следовании инструкции вы увидите тип файла и его величину в соответствующих полях.

Внесенные коррективы имеют временный характер – они утратят свою актуальность сразу же после перезагрузки устройства. Их нужно сделать постоянными, но к этому вернемся чуть позже. Для начала следует произвести другое важное действие. А теперь попробуем создать резервную копию swap. Для этих целей введите в строке:

# cp /etc/fstab /etc/fstab.back

Настройки будут сброшены после перезапуска компьютера. Чтобы избежать этого, необходимо вписать в файл некоторую информацию. Осуществите эту идею с помощью:

$ echo ’/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab

Дело сделано. Теперь можно смело перезапускать устройство. Сохраненные данные останутся на месте.

Как настроить Swapiness

ОС Linux может использовать swap с разной частотой. Частота использования может варьироваться от 0 до 100. Она задается в параметрах swap.

Значение, приближенное к «0» означает, что система начнет обращаться к файлу подкачки только в самых экстренных случаях (как страховочный вариант). Значение, приближенное к «100» означает, что система начнет освобождать физическую память, перемещая объекты в раздел подкачки.

Команда для проверки установленного параметра в устройстве:

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

В приведенном примере «25» – новое значение. Вы можете выбрать число по собственному усмотрению. Главное, чтобы значение попадало в диапазон от 0 до 100. После внесения изменений нужно еще раз позаботиться о том, чтобы они не обнулились после перезапуска системы. Введите в строке терминала запрос:

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

vm.swapiness=25 (или любое другое значение, которое вас устроит).

Размер файла подкачки в ОС Линукс

Существует несколько способов увеличения/уменьшения swap файла в устройствах, функционирующих на ОС Linux. Перед тем, как разобраться с этим вопросом подробнее, следует уделить несколько секунд своего внимания важному напоминанию:

При отключении swap операционная система компьютера начинает использовать только ОЗУ. Если объем оперативной памяти закончится, устройство может зависнуть. Все рабочие процессы ПК остановятся.

Чтобы избежать подобных неприятностей, нужно создать запасной (временный) файл подкачки перед тем, как удалять или изменять swap. Обязательны ли эти действия к выполнению? Здесь нужно смотреть по ситуации. Если ОЗУ устройства достаточно велика, можно вполне обойтись и без создания второго swap файла. В этом нет ничего рискованного.

Теперь приступаем к следующему этапу настройки – корректировке величины файла. Чтобы все прошло безопасно, swap нужно отключить. Введите в строке запрос:

Чтобы изменить величину swap, введите в строке:

# fallocate -| 2G /swapfile

Вместо «2G» укажите подходящую для вас величину файла подкачки. Для его форматирования воспользуйтесь этой командой:

И последнее действие – включение файла подкачки. Попробуйте включить его при помощи:

Интересная информация: пользователь может создавать и использовать несколько swap файлов на устройстве с ОС Linux.

Удаление swap в операционной системе Линукс

Иногда бывают ситуации, когда пользователю устройства необходимо удалить файл подкачки. Это делается очень быстро, но для начала следует выключить swap, затем удалить.

Теперь можно спокойно приступать к удалению при помощи команды rm.

Важное напоминание: при создании нового файла подкачки в ОС Линукс придется снова установить права на swap.

Итоги

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

Файл подкачки (SWAP) в Ubuntu, настройка и установка

Для чего нужен раздел swap?

Файл подкачки или SWAP (с англ. обмен) — это файл обеспечивающий механизм виртуализации памяти, при котором некорректный объем данных из оперативной памяти сохраняется на жестком диске (или SSD). В последующем будет происходить обмен данными между оперативной памятью и файлом подкачки.

Для чего нужен файл подкачки?

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

Размер файла подкачки. Больше не всегда лучше

Больше не всегда лучше — это правило отлично описывает принцип выбора размера файла подкачки. В интернете можно найти много рекомендаций по выбору размера файла, но каково-то универсального ответа нет, все очень индивидуально и будет зависеть от:

  1. Размера оперативной памяти.
  2. Используется ли режим сна?

Для машин с маленькой оперативной памятью (до 2 гигабайт) рекомендовано создать SWAP примерно равный оперативке. Если на машине стоит от 2 гигабайта памяти, то файл подкачки разумно ставить 1/2 от оперативной памяти, но не превышая 4 гигабайт.

Эти рекомендации подходят только для систем не использующих сон/гибернацию и не работающих с секретными данными. Если вы использует сон/гибернацию, то размер файла следует брать равный размеру оперативной памяти, если вы работает с секретными данными, то возможно, следует отказаться от такого файла.

Советую следить иногда за нагрузкой на оперативную память и SWAP при полной забитости можно расширить файл подкачки или установить больше памяти.

Добавляем файл подкачки (SWAP) на Ubuntu

Открываем наш терминал или подключаемся к машине по ssh и убеждаемся в отсутствии SWAP:

sudo swapon —showилиfree -h

Убеждаемся в наличии свободного места на диске:

Создаем файл подкачки утилиту fallocate, где 1 это размер файла в гигобайтах:

sudo fallocate -l 1G /swapfile

Проверим действительно ли зарегистрирован файл:

Позаботимся о безопасности файла:

chown root:root /swapfilechmod 0600 /swapfile ls -lh /swapfile

Такой нехитрый ход позволяет читать и записывать только пользователю root. Затем создаем swap пространство командой:

sudo mkswap /swapfile

Включаем файл командной:

sudo swapon /swapfile

Теперь файл подкачки подключен и работает. Убедиться в этом можно командами указаными выше.

Команды для отключения и проверки состояния отключения (если вы решите отказаться от файла или изменить его размер):

swapoff /swapfileswapon -s

SWAP и перезагрузка

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

nano /etc/fstab В конце добавить /swapfile none swap sw 0 0

Так же можно воспользоваться такой командой

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Теперь после перезагрузки системы SWAP никуда не пропадет и продолжит свою работу.

Улучшаем работу файла подкачки (SWAP) Ubuntu

Улучшать работу файла мы будем с помощью контроля использования пространства файла подкачки. Существует такой параметр, как swappiness, чем выше это значение тем больше система будет пытаться сохранить оперативной памяти и тем больше будет скидываться в файл подкачки, при значениях близких к 0 система не будет использовать SWAP без крайней необходимости.

По умолчанию swappiness 60%, а это значит что после того как оперативная память заполнится на 40%, Ubuntu будет пытаться скинуть излишки на жёсткий диск. Это не очень, особенно если у вас достаточно много памяти, снизив этот значение можно добиться повышения производительности. Понизим это значение до 20.

sudo sysctl vm.swappiness=20

Теперь файл подкачки будет задействован только после того, как будет использовано 80% оперативной памяти. Если система начала работать лучше и никаких нареканий не выбывает, то ставим это значение как постоянное, чтобы после перезагрузки значение не пришло к стандартному.

sudo sysctl -w vm.swappiness=20

Существует ещё один интересный параметр vfs_cache_pressure. Он указывает размер выделяемой памяти для кэширования операций на жёстком диске. По умолчанию значение 100, предельных значений я, к сожалению, не знаю. 0 — ничего не кэшировать. >100 — агрессивно кэшировать операции на жёстком диске. Тут предлагаю экспериментальным путём найти нужное значение.

Изменим параметр до 50:

echo 50> /proc/sys/vm/vfs_cache_pressure

Для работы после перезагрузки добавить в конце файла /etc/sysctl.conf такую строку:

Просмотр текущего значения:

Подведём итоги: мы создали файл подкачки для Ubuntu, настроили его, защити, урегулировали отношения между оперативной памятью и SWAP. На этом все, умственно трудитесь и хорошо питайте.

SWAP для Linux | сЭВО:эволюция работ Работа c Linux

Для чего нужен раздел swap?

SWAP один из важных параметров для стабильной работы операционной системы Linux. Споров о том как правильно использовать в интернете существует масса. Для правильной настройки надо иметь понимание для чего используется ваша система.

Введение

Постараюсь коротко рассказать основные моменты которые надо учитывать и дать практические советы проверенные на личном опыте.

Нужен SWAP или нет?

Однозначно нужен! Можно обойтись и без него, но тогда имейте в виду, что:

    SWAP используется при организации режима сна и при его отсутствии про этот режим можно забыть,

Если SWAP отсутствует и память будет исчерпана тогда компьютер зависнет и потребуется выполнять полный сброс (hard reset). У меня был случай когда браузер Chrome скушал всю память и повесил систему.

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

Размер SWAP

Советов по размеру множество, но мы остановимся на советах разработчиков Red Hat (CentOS):

При современных объемах жестких дисков я бы не стал жалеть места на размер SWAP и уверяю вас что экономия места в данном случае может привести к гораздо большим проблемам.

Варианты размещения SWAP

  • на разделе диска,
  • в файле,
  • или в оперативной памяти использую zRAM.

Исторически в Linux SWAP размещался на разделе, но в современных дистрибутивах производительность SWAP-файла не уступает SWAP-разделу и это весьма радует.

SWAP-раздел

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

Хочу заострить ваше внимание на установку систем Linux из готовых шаблонов которые предлагают хозяева ресурсов предоставляющих услуги VDS. Один из шаблонов при использовании 2 G памяти создал мне SWAP раздел размером 512 М. При таком размере он заполнился на стадии настройки системы. Устанавливайте OS Linux по возможности с минимального iso образа системы!

SWAP-файл

Использование файла очень удобно особенно когда нет точного понимания какие будут окончательные аппаратные параметры системы. Файл можно создать в любом удобном месте и необходимым вам размером. Ниже я расскажу как это сделать.

ZRAM и ZSWAP

Вариант с использованием этих вариантов требует наличие хорошего опыт в использовании Linux систем. На мой взгляд данный способ имеет смысл использовать с хорошим знанием системы на которой это будет работать.

ZRAM — это модуль ядра Linux, позволяющий сжимать содержимое оперативной памяти, и таким образом увеличивать ее объем в несколько раз. ZRAM создает сжатое блочное устройство в ОЗУ которое чаще всего используется как swap. При этом степень сжатия данных получается в среднем 3:1. Это означает что на 1 гигабайт подкачки будет использовано в 333 мегабайт физической памяти.

ZSWAP — тличается от ZRAM тем, что использует существующий swap-раздел на диске, а в ОЗУ создаётся пул со сжатыми данными (кэшем). После того как пул до отказа забьётся сжатыми данными, он сбросит их в раздел подкачки и снова начнёт принимать и сжимать данные. По утверждению разработчиков, в их конфигурации при компиляции ядра в ситуации когда происходит своппинг, выигрыш по объему ввода/вывода составил 76%, а время выполнения операции сократилось на 53%. При использовании ZSWAP, используется раздел swap на диске, в ОЗУ хранится только сжатый кэш.

Проверка наличия SWAP

Если пусто, значит его нет.

Можно проверить используя утилиту htop.

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

Создадим файл c именем swap размером 4 G в папке /etc:

dd if=/dev/zero of=/etc/swap bs=1024 count=4000000 = вывод команды = 4000000+0 записей получено 4000000+0 записей отправлено скопировано 4096000000 байт (4,1 GB), 176,33 c, 23,2 MB/

Форматируем файл в формат свопа:

mkswap /etc/swap =вывод команды= Setting up swapspace version 1, size = 3999996 KiB no label, UUID=7db57287-a7c3-4973-9f89-0be098a493ac

Подключаем файл к системе:

swapon /etc/swap =вывод команды= swapon: /etc/swap: insecure permissions 0644, 0600 suggested.

Проверяем результат работы:

swapon -s =вывод команды= Filename Type Size Used Priority /etc/swap file 3999996 0 -1

Сделаем чтобы swap монтировался при загрузке. Для этого добавляем в fstab необходимый параметр:

vim /etc/fstab =необходимые дополнения= # Подключим swap при загрузке /etc/swap swap swap defaults 0 0

В конце файла делаем переход на новую строку!

Сохраняем файл и перезагружаемся.

swapon -s =вывод команды= Filename Type Size Used Priority /etc/swap file 3999996 0 -1

Оптимизация SWAP

Оптимизация сводится к настройке двух параметров.

Параметр ядра swappiness

Параметры от 0 до 100. При значениях близких к нулю, ядро не переносит данные на диск, если в этом нет крайней необходимости.

Определение используемого параметра swappiness:

cat /proc/sys/vm/swappiness = вывод команды = 30

Исходя из действующего значения принимаете решение об изменении. Изменим значение до 10:

sysctl -w vm.swappiness=10 = вывод команды = vm.swappiness=10

параметр -w для сохранения этой настройки после перезагрузки.

Параметр ядра vfs_cache_pressure

Показывает системе какое время нужно хранить открытые. Значение по умолчанию 100. При значениях близких к нулю, ядро будет держать их в памяти как можно дольше.

Определение используемого параметра vfs_cache_pressure:

cat /proc/sys/vm/vfs_cache_pressure = вывод команды= 100

Исходя из действующего значения принимаете решение об изменении. Изменим значение до 1000:

sysctl -w vm.vfs_cache_pressure=1000 = вывод команды = vm.vfs_cache_pressure=1000

Значительное увеличение vfs_cache_pressure за пределы 100 может отрицательно сказаться на производительности. Для восстановления кода необходимо использовать различные блокировки для поиска свободных каталогов и объектов inode. При vfs_cache_pressure = 1000 он будет искать в десять раз больше свободных объектов, чем есть.

Вывод

Внимательней подходите к настройке SWAP так как в будущем будет меньше проблем при обслуживании системы. Не уделяя должного внимания на такой кажущийся пустяк я не раз получал сюрпризы при работе Linux.

, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Все о пространстве подкачки в ОС Линукс

Для чего нужен раздел swap?

Библиотека сайта rus-linux.net

-> MyLDP -> Тематический каталог -> Файловые системы Linux

Оригинал: All about Linux swap space Gary SimsДата: 3 декабря 2007Свободный перевод: Алексей ДмитриевДата перевода: 6 декабря 2007

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

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

Линукс разделяет доступную физическую оперативную память (RAM — random access memory) на блоки, называемые страницами. Своппинг — это процесс, при котором страница памяти копируется в заранее заготовленное место на жестком диске, называемое пространством подкачки, чтобы освободить данную страницу памяти для новой информации. Сумма объемов физической оперативной памяти и пространства подкачки называется объемом доступной виртуальной памяти.

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

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

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

В такой ситуации только добавление дополнительной оперативной памяти может помочь.

В Линуксе пространство подкачки бывает двух видов: раздел подкачки (swap partition) и файл подкачки (swap file).

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

В ответ вы получите что-то типа:

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

Каждая строка относится к отдельному пространству подкачки, имеющемуся в системе. В данном случае строка всего одна. Поле 'Type' (Тип) говорит, что мы имеем раздел (partition), а не файл. Поле 'Filename' сообщает, что этот раздел находится на диске sda5. Поле 'Size' (размер) показывает размер раздела в килобайтах.

Поле 'Used' (Использовано) сообщает, сколько килобайт пространства подкачки используется (в данном случае ноль). 'Priority' (Приоритет) сообщает, какое из пространств подкачки Линукс использует первым.

Подсистема подкачки в линуксе имеет замечательное свойство: если вы смонтируете с одинаковым приоритетом два (или больше) пространств подкачки (желательно на разных устройствах), Линукс станет использовать их для подкачки поочередно, что существенно увеличит производительность своппинга.

Раздел подкачки

Для того чтобы добавить дополнительный раздел подкачки в свою систему, необходимо сначала подготовить его. Шаг первый — убедиться, что раздел помечен как swap partition (раздел подкачки). Шаг второй — создать на нем специальную файловую систему — swap filesystem.Чтобы удостовериться, что раздел помечен как swap, с правами root (суперпользователя) наберите команду:

Замените /dev/hdb на то устройство, которое хотите проверить.В ответ получите что-то вроде:

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

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

Вся информация на swap-разделе будет потеряна, так что семь раз отмерьте, один раз отрежьте. Также имейте в виду, что Solaris помечает свои разделы тем же идентификатором, что Линукс — свои разделы подкачки (Linux swap), так что поостерегитесь случайно испортить раздел Solaris (если они у вас есть).

Когда раздел помечен как swap, необходимо отформатировать его командой mkswap (make swap), опять же, как root:

Если не появляется сообщений об ошибках, значит ваш раздел отформатирован и готов к работе. Чтобы немедленно его активировать напечатайте:

Убедиться, что раздел используется, можно запустив команду swapon -s. Чтобы новый раздел автоматически подключался (монтировался) при запуске компьютера, нужно отредактировать файл /etc/fstab, который содержит список файловых систем, подключаемых (монтируемых) при загрузке.Формат каждой строки таков:[file system] [mount point] [type] [options] [dump] [pass]

Так как пространство подкачки является специальным типом файловой системы, многие из этих параметров не понадобятся. Для раздела подкачки добавьте строку

/dev/hdb1 none swap sw 0 0

Здесь /dev/hdb1 — сам раздел подкачки, он не имеет специальной точки монтирования (mount point), следовательно, пишем none (нет). Его тип (type) — swap, обозначается опцией sw. Последние два параметра не используются, поэтому там нули.

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

Файл подкачки (Swap file)

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

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

dd if=/dev/zero of=/swapfile bs=1024 count=1048576

Здесь: /swapfile — имя файла подкачки, а число 1048576 — это размер файла в килобайтах (т.е. 1Гб)Подготавливаем файл подкачки при помощи команды mkswap, также как поступали с разделом, но на этот раз указываем имя файла:

Аналогично монтируем его командой swapon:

Строка в файле /etc/fstab для файла подкачки выглядит так:

/swapfile none swap sw 0 0

Какого размера должно быть пространство подкачки?

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

Ключевой вопрос — сколько? Старые версии Unix-подобных операционных систем (такие как Sun OS и Ultrix) рекомендовали пространство подкачки вдвое или втрое превышающее размер оперативной памяти. Современные разработки (такие как Линукс) не требуют так много, но могут использовать его, если им дадут.

Правило тут такое: 1) для настольных систем выделяйте пространство подкачки равное удвоенному размеру оперативной памяти, это позволит вам одновременно запускать много приложений (многие из которых, будучи неактивны, легко могут быть откачаны на диск, освободив память для активных); 2) для сервера выделяйте меньше пространства подкачки (около половины размера оперативной памяти), так, чтобы обеспечить при необходимости возможность своппинга, но следите за использованием пространства подкачки, и при необходимости наращивайте оперативную память (RAM); 3) для старых компьютеров с маленьким объемом оперативной памяти (скажем, только 128Мб), выделяйте столько пространства для подкачки, сколько сможете, вплоть до 1Гб.

Ядро Linux 2.6 добавило новый параметр, называемый swappiness (перевода не существует), позволяющий администратору регулировать то, как Линукс оперирует с пространством подкачки. Это число от 0 до 100. В общих чертах, чем больше это число, тем больше страниц откачиваются из оперативной памяти на диск, а чем меньше значение swappiness, тем большее число приложений остаются в оперативной памяти, даже если они неактивны.

Разработчик ядра Andrew Morton утверждает, что выставляет на своих десктопах swappiness на высочайший уровень — 100, говоря при этом: Я считаю, что не следует ограничивать ядро в его стремлении откачивать мусор. Вы же не хотите, чтобы сотни мегабайт памяти, занятой раздувшимися приложениями, без пользы зависли в вашей машине. Выгрузите их на диск, а память используйте на что-нибудь полезное.

У идеи Мортона есть и оборотная сторона: если память освобождается слишком быстро, то время отклика приложений возрастет, так как при вызове приложения, система должна будет сначала закачать его обратно в память, что создаст ощущение медлительности.

Значение swappiness по умолчанию равно 60. Можно изменить его временно (до следующей перезагрузки) командой от имени root:

echo 50 > /proc/sys/vm/swappiness

Если хотите изменить его на постоянной основе, тогда нужно изменить параметр vm.swappiness в файле /etc/sysctl.conf

Заключение

Управление пространством подкачки является важным аспектом системного администрирования. Хорошо спланированный и правильно используемый своппинг дает много преимуществ. Не бойтесь экспериментировать и постоянно ведите мониторинг своей системы, чтобы убедиться, что вы достигли именно того результата, к которому стремились.

Если вам понравилась статья, поделитесь ею с друзьями:

Средняя оценка 5 при 1 авших

Создание SWAP раздела

Для чего нужен раздел swap?

Раздел подкачки Linux или swap позволяет использовать жесткий диск для сохранения информации, которая должна сохраняться в оперативной памяти.

Данные, которые должны сохранятся в RAM при ее нехватке будут занимать пространство выделенное под swap. Время обращения к данным, которые размещены в нем, и время получения ответа увеличится, но раздел сможет использоваться операционной системой.

Операционная система распознает, что скорость работы с данными в разделе подкачки ниже и будет использовать его для старых данных, храня те, к которым обращения происходят чаще всего непосредственно в RAM.

Раздел подкачки Linux — частое решение в ситуациях, когда на сервере скриптам периодически не хватает оперативной памяти.

Обычно для раздела, который будет использоваться в качестве «быстрой памяти» в дополнение к системной RAM выделяется столько же оперативной памяти, сколько имеется RAM или вдвое больше. Однако никаких правил нет и это просто условность.

В Linux чаще используется понятие именно раздела под swap, хотя swap файлы — с которыми обычно работают в Windows также используются. Рассмотрим только создание партиции.

Под swap будем использовать партицию, для которой при помощи fdisk создадим соответствующий тип раздела

Находим в выводе устройство, размер которого совпадает с диском или партицией, который/ую хотим использовать, в примере это /dev/vdc

Command (m for help): p

Disk /dev/vdc: 5368 MB, 5368709120 bytes
16 heads, 63 sectors/track, 10402 cylinders, total 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x27e517f5

Device Boot Start End Blocks Id System

Отдаем команду на создание нового раздела

Command (m for help): n

Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended

Select (default p): p

Номер партиции, а также начало и конец секторов оставляем по-умолчанию

Partition number (1-4, default 1): 1
First sector (2048-10485759, default 2048):
Using default value 2048
Last sector, +sectors or +size (2048-10485759, default 10485759):
Using default value 10485759

Самое важное — выбираем тип раздела

Command (m for help): t
Selected partition 1

Большая буква L выведет все варианты, из них потребуется 82 Linux swap / So c1

Сейчас выделена партиция /dev/vdc1 объемом 5 Гб, что довольно много для среднего сервера, но такое количество памяти также можно использовать.

Command (m for help): p

Disk /dev/vdc: 5368 MB, 5368709120 bytes
9 heads, 40 sectors/track, 29127 cylinders, total 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x27e517f5

Device Boot Start End Blocks Id System
/dev/vdc1 2048 10485759 5241856 82 Linux swap / Solaris

Раздел подкачки и mkswap

mkswap утилита, непосредственно создающая раздел подкачки, используем ее передавая имя раздела

Setting up swapspace version 1, size = 5241852 KiB
no label, UUID=2f7a89e2-4bc3-4fa2-a442-b0e587d752d1

В последней строке выводится идентификатор UUID.

Монтировать раздел swap не нужно, достаточно его активировать. После ключа -U указываем идентификатор

swapon -U 2f7a89e2-4bc3-4fa2-a442-b0e587d752d1

Посмотреть все разделы, выделенные под swap можно командой swapon с ключом -s, таких разделов при желании можно сделать неограниченно много.

Filename Type Size Used Priority
/dev/vdc1 partition 5241852 0 -1

Добавление swap в автозагрузку

Чтобы раздел подкачки монтировался автоматически после каждой перезагрузки системы необходимо добавить правило в /etc/fstab

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

UUID=2f7a89e2-4bc3-4fa2-a442-b0e587d752d1 none swap sw 0 0

Идентификатор относится только к тому устройству, которое было создано ранее и размечено как swap. Вместо него можно использовать имя партиции — в примере это /dev/vdc1


Источник: imp-ustlab.ru