Swap space что это
SWAP — как создать, подключить, очистить и отключить файл подкачки в Linux
Что такое SWAP
SWAP (своп) — это механизм виртуальной памяти, при котором часть данных из оперативной памяти (ОЗУ) перемещается на хранение на HDD (жёсткий диск), SSD (твёрдотельный накопитель), флеш-накопитель или иное вторичное хранилище. Как правило, swapping (свопинг) происходит, когда оперативная память переполнена, и ей для работы требуется дополнительное пространство.
Когда может понадобиться своп
Зачастую, от недостатка свободной памяти первой страдает база данных. Вы можете сталкиваться с проблемами типа:
При подобных симптомах и ошибках может помочь своппинг.
Преимущества SWAP
Сравнение стоимости оперативной памяти и SSD | ||
(цены актуальны на 7 июля 2017 года) | IHOR | FirstVDS |
Оперативная память, в среднем за 1 гигабайт | 100 рублей в месяц | 170 рублей в месяц |
SSD, в среднем за 1 гигабайт | 10 рублей в месяц | 13 рублей в месяц |
Как видно из таблицы, экономия выйдет примерно в 10 раз.
Недостатки SWAP
SWAP — это не замена оперативной памяти, а всего лишь его поддержка.
Как создать и подключить файл подкачки SWAP
Проверка наличия свопа в системе
Для начала, нужно убедиться, что своп ещё не подключен:
Если команда выдала пустой результат или что-то навроде:
— значит, своп, скорее всего отсутствует.
Дополнительно проверим командой:
Если в таблице в строке swap стоит 0, значит своп отсутствует.
Проверка наличия свободного места на диске
Теперь, надо проверить, сколько свободного места есть на диске:
В результате, мы увидим что-то подобное:
Как мы видим, доступно 9 гигабайт дискового пространства — вполне достаточно, чтобы создать своп-файл.
Какого размера создать swap
Исходите из принципа — сколько может понадобиться, столько и выделяйте. Как правило, можно начинать с размера объёма оперативной памяти, либо его удвоенного количества. Например, если у вас в системе 2 гигабайта оперативки, своп можно сделать размером 2-4 гигабайта, как правило, этого должно хватать. Но, Вы можете скорректировать его размер под себя.
Создание файла SWAP
Допустим, мы хотим создать swap-файл размером 4 гигабайта.
Далее, здесь существует 2 подхода, традиционный медленный и новый быстрый:
Быстрый способ Используем fallocate :
Синтаксис команды простой:
Будьте очень внимательны с синтаксисом команды, потому что если, например, ошибиться с определением пути для of= (куда сохранять файл), можно повредить данные на диске.
Теперь, когда файл создан, проверим результат:
В результате увидим:
-rw-r—r— 1 root root 4.0G Jul 07 16:16 /swapfile
Как видим, файл создался верно и с нужным объёмом.
Как подключить SWAP файл
Для начала, ограничим права доступа к вновь созданному файлу.
Предоставление другим пользователям возможности читать или писать в этот файл будет представлять собой огромный риск для безопасности, поэтому ограничение командой ниже строго обязательно:
В результате, мы должны увидеть подобное:
-rw——- 1 root root 4.0G Jul 07 16:16 /swapfile
Права прописаны верно.
Теперь нужно сделать из swapfile файл подкачки:
В результате, увидим примерно следующее:
Setting up swapspace version 1, size = 4193300 KiB
no label, UUID=e5f3e9cf-c1a9-4ed4-b8ab-711b6a7d6544
Теперь, файл готов в роли свопа. Подключим его к системе:
Если на данном этапе выходит похожая ошибка, значит, скорее всего, своп запрещено подключать в систему. Такое ограничение часто ставят на VDS с виртуализацией OpenVZ. Рекомендую использовать IHOR, сервера от 100 рублей в месяц и виртуализация KVM позволяют включать SWAP.
Всё, теперь своп подключен и работает. Осталось проверить правильность работы самой первой командой:
Своп также будет виден в стандартных командах:
Всё, теперь точно, своп в системе готов и будет использоваться при необходимости.
Добавление свопа в автозагрузку
Чтобы при перезагрузке сервера своп автоматически подтягивался в систему, нужно прописать его в /etc/fstab :
Теперь система знает, где и как при перезагрузке искать и подключать своп.
Проверить, подключен ли своп в автозагрузке, можно с помощью редактора:
Дополнительные вопросы
Как очистить SWAP в Linux
Вообще, это делается с помощью отключения и включения свопа.
Однако, я не рекомендую прибегать к этому способу, так как swap просто очищается, а не переносится в ОЗУ, и, в случае наличия данных системных процессов, система может стать недоступна.
Динамическое управление подкачкой: Swapspace
Swapspace — консольная утилита, работающая в фоновом режиме (демон), предназначенная для динамического управления подкачкой (динамический менеджер подкачки / a dynamic swap manager). Создана в рамках проекта Software Industry Promotion Agency (SIPA), автор Jeroen Т. Vermeulen.
Swap / Подкачка — механизм/процесс работы с виртуальной памятью, при котором отдельные фрагменты памяти / страницы памяти (обычно не активные, долго не использовались, в которых нет необходимости) перемещаются из оперативной памяти на жёсткий диск (используется в качестве виртуальной памяти), освобождая ОЗУ для загрузки других фрагментов памяти (ядро разгружает память от наименее востребованных страниц). В большинстве операционных систем основанных на ядре Linux, swap обычно размещают на отдельный раздел диска, что ускоряет доступ к данным (по сравнению с расположением swap на обычном разделе). Так же имеется возможность использования swap-файла.
Для того что бы при необходимости не увеличивать размер физического раздела swap и иметь достаточного места для подкачки можно воспользоваться Swapspace. При её использовании обычный раздел подкачки, заданный при установке, может быть минимального размера или совсем отсутствовать (особенно при размере оперативной памяти 4Гб и более). В любом случае, будучи запущенной, утилита позволит пользователю не задумываться (во время работы) о свободном swap пространстве. Как только Swapspace определит что в системе оперативная память заполнена (до заданного в настройках предела) и требуется её освободить, на жестком диске в указанном каталоге будет автоматически создан swap-файл нужного для освобождения оперативной памяти размера (чуть больше требуемого). И наоборот, если оперативная память свободна и больше не нужна, swap-файл освобождается. Это позволяет системе при запуске интенсивно работающих с памятью приложений иметь достаточно места для их нормальной работы.
В отличии от приложений аналогичного назначения, таких как dynswapd и swapd, Swapspace автоматически создаёт файлы подкачки требуемого размера только при необходимости. Это означает что её работа не зависит от настроек (ограничений) на количество swapfiles заданных в системных настройках (не зависимо от того что ядро записывает на диск). Если будет определено что всё больше и больше файлов подкачки необходимо, то будут создаваться всё более крупные файлы, а если необходимость небольшая то создаются мелкие файлы для более быстрой их загрузки в оперативную память. Будучи запущенной Swapspace занимает около 300Кб в оперативной памяти (по мере работы размер не увеличивается), а при разработке основное внимание уделялось простоте и удобству в использовании, учитывались все ошибки и недочёты реализации в приложениях аналогичного назначения. Удобство Swapspace заключается ещё и в том что приложение во время работы не задаёт никаких «глупых вопросов» пользователю, стараясь самостоятельно определить что необходимо при выполнении тех или иных задач (сообразуясь с настройками, без вмешательства пользователя).
Конфигурационный файл Swapspace, очень прост и находится:
/etc/swapspace.conf
В нём можно задать минимальный и максимальный размер swap-файла, процент резервирования, количество (в процентах) заполнения оперативной памяти при котором начинают создаваться swap-файлы не используемых страниц, а так же процент свободного места для обратной загрузки страниц в оперативную память и продолжительность задержки процессов (для исключения созданий «лишних» swap-файлов). Каталог «по умолчанию» для создаваемых swap-файлов:
/var/lib/swapspace
Swapspace может оказаться весьма полезным инструментом при использовании в системах активно работающих с большим объёмом данных, удалив из ОЗУ значительное количество страниц используемых приложениями только при инициализации и больше никогда (сбросить их в swap и разгрузив память), а так же сводя к минимуму количество создаваемых ядром swap-файлов, повышая отзывчивость системы.
Русские Блоги
Linux Swap Space (Swap Space)
Каждый раз, когда вы устанавливаете Linux, вы попросите обмен раздел, почему этот раздел? Каковы последствия этого раздела? Если вы должны установить его, сколько стоит настройка? Эта статья попытается ответить на эти вопросы и попытаться охватить все знания, связанные с коммутацией.
Все следующие примеры выполняются под Ubuntu-Server-X86_64 16.04
Что такое своп?
Почему вам нужен своп?
Чтобы ответить на этот вопрос, вам нужно ответить на то, что выгодно от обмена.
Для некоторых крупных приложений (например, LibreOffice, видеоредактор и т. Д.) При запуске используется большая сумма памяти, но эти память используются только при запуске, и в задней части операции мало. RAM. После обмена система может сохранить эту часть данных памяти, чтобы отменить, чтобы выпустить больше физической памяти для использования.
Многие особенности релиза выпуска (например, Ubuntu) зависит от раздела подкачки. Когда система спит, данные в памяти будут сохранены на разделах подкачки. Когда система запущена, то загрузите данные в память, так что это Может ускорить скорость начала системы, поэтому, если вы хотите использовать функцию сна, необходимо настроить раздел подкачки, и размер должен быть больше или равен физической памяти.
В некоторых случаях, что мне делать, если моя физическая память ограничена, но то, что я хочу запустить память? На данный момент вы можете достичь своих целей, настроив достаточно места подкачки, хотя медленнее, но, по крайней мере, вы можете запустить.
Если вы виделиУправление памятью Linux.Он будет знать, что система будет использовать память простоя, чтобы максимально кэшировать, чтобы ускорить скорость ввода / вывода системы, поэтому, если вы можете переместить данные памяти, которые не очень привыкли, чтобы поменять, будет больше физической памяти. Улучшите общую производительность системы в кэше.
Недостатки отключения?
Поскольку система автоматически переместит данные о неоткрытых данных памяти, настольная программа может привести к минимизации программы, а затем откройте небольшую карту, поскольку вам нужно перезагрузить данные на смену памяти.
Вы хотите поменять?
Что введено выше, это своп и их преимущества и недостатки, то вы хотите настроить своп? Ответ: см. Ситуацию.
Следующее обсуждается отдельно, и память едва достаточно, а память очень достаточно. Сервер и настольная среда выбираются для обмена.
Недостаточно памяти
Память едва
Память обили
Теоретически, если физическая память достаточно намного достаточно и не нужно спать, своп не используется, но ключевой вопрос заключается в том, что нам трудно обеспечить, чтобы было достаточно физического существования, потому что есть всегда случай, Такие, как некоторые потребления процесса, являются превосходными ожиданиями, ожидается давление на сервере, утечки памяти и т. Д.
В этом случае, если у вас есть ненормальность, можете нам помочь нам?
Среда на рабочем столе
Как правило, не следите за тем, какой мониторинг, поэтому он не может предсказать, что используйте исключение памяти заранее, когда используется память, разделенная на два случая:
Нет своп: убийца OOM KERNEL срабатывает, и нет возможности провести прогресс вашей работы.
Серверная среда
Сервер обычно настраивает монитор, а тревоги или процесс ненормальности автоматически перезапускаются, когда сумма памяти достигает порога. Но если нет мониторинга? Когда память используется, она разделена на два случая:
Настройте своп: в это время сервер также может служить, но производительность уменьшит несколько оценок, пока он не будет в почти сроке, и этот процесс будет длиться долго, это катастрофа для сервера; так что настраивает обмен только Задержка обслуживания на некоторое время, то это длительное прерывание услуг (например, сервер, который обрабатывает 1000 запросов в секунду, из-за частого использования свопа, что приводит только к 50 запросам в секунду, стоящий в угле систем, процесс Все еще бегайте, но угла обслуживания не прервана).
Не настроил своп: в это время убийца OOM KERNEL срабатывает. В соответствии с конфигурацией по умолчанию процесс, потребляющий память, который будет приоритетным убийством, который, как правило, наш бизнес-процесс, и демон автоматически перезапустит бизнес-процесс (без Демон? Что такое шутки?) Эта ситуация приведет к тому, что эта ситуация только приведет к тому, что служение на некоторое время разорвалось (в зависимости от времени перезапуска процесса), и нет такой вещи, как указано выше из-за свопа, и служба продолжает прерывать. Даже если убийца OOM не имеет ожидаемого процесса убийства, мы также можем найти его через тестирование, а затем настроить убийцу OOM для перезагрузки системы, которая лучше, чем настроенный своп.
Как видно из вышеперечисленного, кажется, что сервер не настраивает своп, который позволяет проблемы перезапустить как можно скорее, сокращают время пострадавших в бизнесе.
И даже если нет монитора конфигурации, у нас естьcgroupsсерединаМодуль управления памятьюВы можете управлять максимальным количеством памяти, которую вы можете использовать в наборе процессов. Когда вы превышаете это, вы можете вызвать соответствующее поведение, например, перезапустить процесс и тому подобное.
В общем, для настольных сред, общая память не такая достаточная, и из-за использования причинах сцены будет много разных видов графических окон, но стойка регистрации только одна, большинство из них стоят на заднем плане, Таким образом, настроить своп необходим для повышения производительности; для сервера настроенная память относительно обитала. Процесс, который начнет работать (в противном случае не должен быть запущен), и нет спящего спроса., После добавления cgroups, вы можете ограничить использование памяти процесса. Лично думаю, что своп в основном не нужно, см.coreosПо умолчанию нет свопа.
Сколько стоит конфигурация размера свопа?
Поскольку своп конфигурации полезен для настольной системы, насколько подходит для обмена? Вот рекомендации, данные Ubuntu:
Когда физическая память меньше 1 года и не нужно спать, может быть установлено пространство подкачки одного и того же размера; когда вам нужно спать, рекомендуется настроить размер физической памяти, но максимальное значение не должно превышать дважды размер памяти.
Если пространство подкачки между двумя ранами размер физического памяти недостаточно, рекомендуется увеличить память вместо добавления свопа
Как настроить своп?
Что мы должны настраивать, когда мы определяем, насколько настроено пространство Swap? Конечно, вы можете хорошо назначить, когда система установлена, но если вы не удовлетворены размером установки, мы также можем настроить его позже. Здесь не будет введен здесь, как его сопоставить, только опишите, как добавить больше помещения подкачки в систему.
Существует два типа помещения подкачки, разделы подкачки и файлов подкачки под Linux. У них есть свои характеристики:
Переменные разделы из-за отсутствия файловой системы, она эквивалентна прямому доступу к непрерывному дискому пространству, эффективность относительно высока, но поскольку раздел подкачки обычно устанавливается, он выделяется, и не удобно уменьшать пространство и расширение в более поздний период.
Файлы Swap размещены в указанном разделе «Файловая система», поэтому можно повлиять на производительность файловой системы, но говорят, что ядро после версии 2.6 может напрямую добраться до адреса физического диска, соответствующего файлу подкачки, которое эквивалентно Пропуская файловую систему напрямую доступ к диску. Однако, если файл подкачки не является непрерывным, когда физическое местоположение на диске не является непрерывным, его преимущества являются гибкими, а файл подкачки может быть увеличен и удален в любое время.
Просмотр Swap уже настроен в системе
Если вы настроили с несколькими разделами или файлами подкачки, здесь будут здесь несколько строк, каждая строка представляет собой раздел подкачки или файл, который используется системой, приведен значением каждого поля:
Имя файла: если тип подкачки является разделением, здесь будет путь к разделу, если тип подкачки является файлом, здесь будет путь файла
Тип: Swap Type, раздел представляет собой раздел подкачки, файл представляет это файл подкачки
Размер: размер свопа, агрегат k, здесь 524284 похож на 512м
Используется: размер, который был использован, 0 еще не используется
Посмотрите положение обмена в системе в системе
Это не пространство подкачки, которое является большей производительностью, что действительно влияет на производительность, является частотой обмена и выхода. Чем выше частота, тем больше производительность системы, и мы можем просматривать частоту помещения командование VMStat.
Добавьте раздел подкачки
Перед добавлением раздела подкачки вам необходимо пройти раздел. Если это новый диск, вы можете использовать FDISK для создания нового раздела для Swap.
Примечание: Работа раздела диска должна быть осторожна, она приведет к потере данных, следствие системы. Работа раздела диска не является контентом, который вы хотите представить, поэтому он не будет обсуждать, как используется FDISK.
Добавьте файл подкачки
Добавление файла подкачки намного проще, и риска при разбиении нет.
Примечание. Не все файловые системы поддерживают создание файла подкачки, такого как BTRFS, создание файла подкачки в разделе BTRFS.
Отменить все свопы
Если вы думали об этом, вы можете определить, что вам больше не нужен своп, вы можете удалить все разделы и файлы подкачки из системы, шаги и вышеупомянутые
Как оптимизировать производительность подкачки?
Как настроить своп, чтобы сделать его лучше?
Попробуйте использовать раздел подкачки, по отношению к файлу подкачки, раздел, безусловно, непрерывное физическое дисковое пространство, а файл подкачки не может
Поместите раздел подкачки и систему в разные диски, поэтому вы не сможете схватить пропускную способность ввода / вывода одного диска с системным диском.
Тем не менее, если вы вернетесь, если у вас частый своп, как оптимизировать своп бесполезно, с соотношением памяти или низким уровнем количества, производительность или снижение, если вы не доступаете в Swap, оптимизировать своп, и есть значимый? Следовательно, это фактически фактическое значение оптимизации производительности подкачки, и здесь хорошо здесь.
Настройка Swappiness.
Иногда наша среда на рабочем столе действительно настроена относительно обильная память, а также имеет помещение помещения. В настоящее время мы надеемся минимизировать использование пространства подкачки, избегайте влияния на производительность системы, Linux давно помогло нам рассмотреть эту ситуацию, 2.6 в ядре Параметр, называемый Scappiness, добавляется для настройки срочности, которая должна перемещаться необычайно использоваться в памяти, чтобы поменять. Значение этого параметра 0
100, 0 говорит ядро. Не перемещайте данные памяти, чтобы поменять, то есть только в том случае, и 100 сообщает ядро, пока это возможно, попробуйте память данных Это не доступно, перемещается в обмен.
Посмотреть значение Smaptiness в текущей системе
Изменить значение Smaptiness в текущей системе
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Управление и мониторинг областью подкачки в Linux
Область подкачки играет важную роль в производительности системы. Давайте узнаем, как определить размер области подкачки в вашей системе и как она используется.
Большинство из нас не часто задумываемся об области подкачки, если только мы не сталкиваемся с проблемой нехватки памяти в наших системах. Даже в этом случае изучение и оценка области подкачки в системе не является сложным, и знание того, что нормально для вашей системы, может помочь вам определить, когда что-то работает не так. Итак, давайте изучим некоторые команды, которые помогут вам заглянуть в область подкачки. Но сначала давайте рассмотрим некоторые базовые основы.
Что такое область подкачки и как она используется.
Область подкачки (swap space) – это дисковое пространство, которое действует как расширение памяти. Он используется, когда физическая память (ОЗУ) системы заполнена и системе требуется больше ресурсов памяти. Это называется «swap», потому что система перемещает некоторые неактивные страницы в памяти в область подкачки, чтобы можно было разместить больше данных в ОЗУ. Другими словами, это позволяет освободить оперативную память в загруженной системе.
Область подкачки может быть настроена как отдельный раздел диска или как файл. В наши дни большинство установок Linux создают раздел во время установки, и это является опцией. Однако вы можете создать файл подкачки и использовать его для подкачки.
Из-за нехватки области подкачки вы можете столкнуться с проблемой, называемой «перегрузкой», при которой программы и данные перемещаются между ОЗУ и областью подкачки так часто, что система работает очень медленно.
Вместе RAM и swap называются «виртуальной памятью».
Какой объем swap space необходим?
Раньше для области подкачки рекомендовали выбирать объем равный двойному размеру оперативной памяти, но это было в те времена, когда в системах не было столько оперативной памяти, как сегодня. Эти рекомендации для Ubuntu, но вероятно, должны работать и для других дистрибутивов:
Важно различать подкачку и подкачку с гибернацией. Система, которая переходит в спящий режим, немедленно сохраняет состояние вашей системы на жестком диске и выключается. Когда вы разбудите его (например, подняв «крышку» ноутбука), все запущенные вами программы вернутся в то состояние, в котором они находились, когда система перешла в спящий режим. Поэтому рекомендуется увеличить область подкачки. Но не все системы переходят в спящий режим.
Чтобы узнать, может ли ваша система перейти в спящий режим, выполните команду:
Если на экран выведен ответ, показанный выше, значит ваша система готова к переходу в спящий режим. Вы можете проверить это, выполнив эту команду:
Как можно просмотреть объем области подкачки в вашей системе Linux?
Команда sar сообщает об использовании области подкачки
Обратите внимание, что в приведенных выше выходных данных команды free область подкачки используется скромно, хотя доступно много свободной памяти.
Вы также можете просмотреть раздел подкачки с помощью такой команды:
Когда необходима область подкачки?
Если в вашей системе много памяти, возможно, вам никогда не понадобится использовать область подкачки. Но почти всегда полезно иметь ее под рукой. Дисковое пространство относительно дешево по сравнению с памятью, и вы никогда не знаете, когда какой процесс увеличит нагрузку. С другой стороны, если ваша область подкачки интенсивно используется почти все время, вам, возможно, следует подумать о добавлении дополнительной оперативной памяти в систему, поскольку с ее использованием связаны некоторые затраты на производительность.
Создание файла подкачки.
Если вам нужно создать файл подкачки в системе Linux, используйте команду: