Что такое раздел подкачки
swap (своп) или файл подкачки
Swap (своп) или файл подкачки
Своп (swap) — это файл, либо раздел, т.е. определенное место на жестком диске (HDD), которое используется для «выгрузки» в него неиспользуемых страниц из оперативной памяти. Не зацикливайтесь на словосочетании «страница памяти» — это не столь важно на данный момент, ибо это уже углубление в принципы действия, которые вам не нужны на данном этапе и могут вообще не понадобится.
Стандартный HDD 3,5″ (На фото HDD от Western Digital)
Говоря же простым языком, в своп из оперативной памяти выгружается вся та информация, которая на данный момент не используется и к которой уже какое-то время не обращается ни одна программа. Т.е. своп в каком-то смысле создает дополнительный объем для вашей оперативной памяти, в который выгружается все ненужное на данный момент, но то, что может в скором времени понадобится какой-либо программе.
Думаю, многие знают и понимают, что HDD обладают в разы меньшим быстродействием, чем оперативная память и у вас может возникнуть логичный вопрос — зачем же использовать заведомо более медленное устройство?
Дело тут в том, что не возможно предусмотреть и предугадать объем оперативной памяти на каждом компьютере, а так же количество программ и процессов, которые будут запущены одновременно. Отсюда возникают ситуации, когда на некоторых компьютерах какая-либо программа может работать нормально, а на некоторых компьютерах появится проблема недостатка памяти.
Как раз для решения проблемы недостатка памяти и было придумано организовать специальное место на HDD — своп, в которое бы выгружалась вся ненужная на данный момент информация из оперативной памяти, освобождая место для активных программ и информации, которая используется на данный момент.
Если же к этой выгруженной в своп информации вновь поступает запрос, она загружается обратно в оперативную память, а из свопа удаляется, или просто поверх нее записывается что-то другое. А из-за того, что своп находится в одном и том же месте на HDD, время на поиск нужной информации минимально и не сравнится с процессом поиска, обработки и загрузки этой информации по-новой из директории программы.
С тем, что такое своп и зачем он нужен вроде бы разобрались. =) Надеюсь я не слишком вас утомил, ибо я старался объяснить подробнее и более простым языком, получилось у меня или нет уже вы мне скажете.
Теперь давайте перейдем к настройке самого своп-файла.
Настройки фйла подкачки в OC Windows (Диск E — это отдельный физический HDD)
В операционных системах на базе ядра Linux swap — представляет из себя специальное место на жестком диске, которое создается еще на стадии разметки диска при установке операционной системы. В Windows же дела обстоят иначе, тут swap представляется из себя файл pagefile.sys, который является скрытым системным файлом. Он располагается в файловой системе на одном или на нескольких логических дисках. И тут кроется с одной стороны преимущество, но с другой стороны и недостаток.
Преимущество такого решения в том, что можно мгновенно изменять размер свопа, но значительный недостаток кроется в том, что файл подкачки может фрагментироваться, т.е. разбиться на части, из-за других файлов, находящихся на логическом разделе. Подробнее о фргаментации вы можете прочитать в этой статье.
Поэтому для Windows есть определенный ряд правил и рекомендаций, которые нужно выполнять, если вы хотите что бы ваш компьютер нормально работал и не терял производительность из-за фрагментации своп-файла.
Практические советы по настройке своп-файла (файла подкачки) в ОС Wnidows
1 — Файл подкачки нужно располагать как можно ближе к начальным секторам жесткого диска (HDD), потому что именно в этом месте у большинства HDD самые высокие показатели скорости чтения и записи.
В идеале заняться настройкой файла подкачки нужно как только вы установили систему, пока ваш жесткий диск не забит файлами.
2 — Если у вас несколько логических разделов на жестком диске (HDD), то файл подкачки нужно располагать на первом по счету из них, т.е. как можно ближе к начальным секторам.
3 — Если у вас в компьютере несколько жестких дисков (HDD), то своп-файл нужно располагать на самом быстром из них.
4 — Перед тем, как задавать новый размер файла подкачки обязательно на время удалите файл подкачки (на всех дисках задать — «Без файла подкачки») и проведите дефрагментацию выбранного вами под swap-файл раздела каким-нибудь дефрагментатором (например Defraggler).
5 — Не разбивайте файл подкачки на несколько логических или физических дисков — это только замедлит работу системы.
6 — Не стоит помещать файл подкачки на отдельный раздел, равный ему по размеру и отформатированный в журнальной файловой системе.
Например, в файловой системе NTFS из-за MFT логический раздел делится ровно на две части. Таким образом ваш файл подкачки на таком логическом разделе гарантированно будет разбит на 2 части, а то и более, так же не всегда есть возможность разместить подобный раздел в начале диска. И в конечном итоге вы таким образом ограничите себя в выборе максимального размера файла подкачки.
Какого размера должен быть файл подкачки?
Размер файла подкачки обязательно должен быть фиксированным, т.е. «Исходный размер» и «Максимальный размер» должны быть идентичными. Таким образом мы исключим возможную фрагментацию файла подкачки при разрастании от «Исходного» до «Максимального» размера.
Объем RAM Размер swap-файла
256МБ 1024МБ
512МБ 2048МБ
1024МБ-2048МБ 4096МБ
3072МБ-4096МБ 6144МБ-8192МБ
8192МБ и более можно указать минимальный размер (по-сути он не нужен, но
многие программы требуют его наличия)
Что такое раздел подкачки в Linux и для чего он нужен
Во время установки операционной системы Linux при разбиении жесткого диска на разделы пользователю также предлагается создать отдельный раздел подкачки или swap. Правда находятся пользователи, которые утверждают, что раздел подкачки в принципе создавать не обязательно, другие же напротив, считают, что игнорирование этого пункта является серьезной ошибкой, но при этом не могут дать четкого ответа на вопрос, какой именно объем на жестком диске должен занимать раздел swap.
Мы постараемся дать ответ на этот вопрос, но перед этим давайте сначала узнаем, что такое swap в Linux и для чего он нужен. Как и в Windows, в Linux имеется множество процессов и все они потребляют системные ресурсы, то есть оперативную память. За распределение ресурсов между процессами отвечает специальное устройство управления памятью, которое предоставляет каждому процессу адресное пространство требуемого размера.
Доступный процессам диапазон логических адресов делится на страницы, каждая из которых связывается физической страницей в оперативной памяти. Так вот, том случае если общее количество страниц, необходимых для нормальной работы процессов превысит количество доступных физических страниц, ядро сбросит их содержимое в раздел подкачки, на физический диск. Исходя из вышесказанного, файл подкачки можно определить как «продолжение оперативной памяти», кстати, его нередко так и называют — виртуальная память.
Однозначного ответа на вопрос нужен ли swap-файл в Linux или не существует. Все зависит от того, каким физическим объемом оперативной памяти располагает устройство, а также для каких целей предполагается его использовать. В принципе на компьютерах с объемом оперативной памяти от 4 Гб раздел подкачки создавать не обязательно, однако если вы собираетесь использовать энергоемкие приложения или запускать виртуальные машины, в таких случаях создание файла подкачки будет весьма желательным или даже обязательным.
Каким должен быть объем файла подкачки также зависит от того, какие операции будут выполняться на компьютере. Старые версии Unix-подобных операционных систем рекомендовали выделять под раздел подкачки пространство вдвое или втрое превышающее размер оперативной памяти. Современные версии Linux не столь требовательны. В большинстве случаев на десктопных компьютерах рекомендуется устанавливать размер swap равный реальному объему оперативной памяти.
Если вы собираетесь использовать свой компьютер по «полной», например, запускать шесть виртуальных машин, каждая из которых потребляет 1 Гб, и все это на компьютере с 4 Гб ОЗУ, то в таком случае размер файла подкачки можно и даже нужно установить превышающим размер RAM в два раза. На серверах размер swap принято устанавливать вдвое меньшим, чем размер RAM. А вот на старых компьютерах, если кто-то еще их использует, под раздел подкачки следует выделять пространство превышающие объем реальный оперативной памяти как минимум в семь раз.
Вывод
Создание и использование раздела подкачки в Linux приветствуется. Он служит своего рода предохранителем предотвращающим появление ошибок и сбоев, связанных с переполнением памяти.
Хорошо спланированный и правильно используемый своппинг может дать много преимуществ, но в то же время он имеет свои недостатки, в частности swap-файл занимает на жестком диске место, а также увеличивает нагрузку на диск, тем самым способствуя его более быстрому износу.
Кроме того «сброшенные» в своп приложения могут работать очень медленно и даже периодически зависать.
Файл подкачки Linux
В операционной системе Linux, как и в других ОС, файл подкачки нужен для страховки оперативной памяти. Когда установленный объем ОЗУ заканчивается, используется именно выделенная область из файла подкачки. Это может понадобиться в двух случаях:
В последних версиях операционной системы Ubuntu Linux файл подкачки создается автоматически вне зависимости от того, хотите вы этого или нет. При этом его размер составляет около 1 Гб.
Как посмотреть swap в Linux
Используемая команда отображает размер файла подкачки вашей операционной системы. Однако, по ее результатам мы не можем определить – это файл подкачки или раздел подкачки. Поэтому будем использовать дополнительный другую команду, чтобы посмотреть swap linux. Вводим в терминал следующее:
Как видите, в нашем случае под swap выделено 1.4 Гб и это файл. То есть, он находится не на отдельном разделе, а на том же диске, на котором установлена операционная система.
Если это будет отдельный логический том, то под надписью « TYPE » мы увидим слово «partition».
То есть, вместо каких-либо данных о файле подкачки вы увидите нули.
Создание файла подкачки Linux
Если вы удостоверились в том, что файл подкачки отсутствует, можно переходить к его созданию. Пример, приведенный ниже, будет показан с использованием операционной системы Ubuntu 18.04, но работать это должно и на других дистрибутивах Linux.
Шаг 1: Создаем swap файл
Давайте создадим файл подкачки для нашей Ubuntu. Для примера его размер составит 1 Гб. Запустите терминал и введите команду, приведенную ниже:
Для обеспечения безопасности файла обязательно устанавливаем на него нужные права.
sudo chmod 600 /swapfile
При этом вместо «swapfile» мы можем указать любое другое название.
Шаг 2: Создание файловой системы
Создание swap linux ещё не завершено. Теперь необходимо указать нашей операционной системе, что созданный объект должен использоваться как файл подкачки. Для этого мы будем использовать команду, приведенную ниже:
sudo mkswap /swapfile
Если все сделано верно, результат будет выглядеть так:
Шаг 3: Активируем файл подкачки
Хорошо, теперь наш Linux понимает, что это файл подкачки, но этого недостаточно. Нам также необходимо включить SWAP :
sudo swapon /swapfile
Давайте проверим, все ли мы сделали правильно:
Шаг 4. Сохранение изменений после перезагрузки
Все операции, которые мы предприняли выше, временны. Как только компьютер будет перезагружен, они отменятся. Для того чтобы сделать изменения постоянными, нам необходимо дописать кое-какую информацию в /etc/fstab. Для этого поступаем так:
Прежде чем начать работать с файлом, о котором мы говорим, необходимо обязательно создать его резервную копию:
sudo cp /etc/fstab /etc/fstab.back
После этого можно переходить непосредственно к добавлению нужных нам данных. Нам надо добавить в файл такую строчку:
/swapfile none swap sw 0 0
Это реализуется через текстовый редактор, запущенный с правами суперпользователя, либо при помощи введенной в терминал команды:
Готово. Изменения сохранены и файл подкачки не сбросится после перезагрузки операционной системы.
Настройка swappiness
Как видите, в нашем случае «свопинг» установлен как 60. Если же вы хотите поменять swappiness, можете воспользоваться оператором, цифра в конце которого и будет новым значением:
sudo sysctl vm.swappiness=25
Как и в случае с конфигурацией файла подкачки, данный параметр изначально будет временным и обнулится при следующей перезагрузке. Для того чтобы сделать его постоянным, в самом конце файла /etc/sysctl.conf записываем значение vm.swappiness=25.
Для этого можно воспользоваться, например, текстовым редактором, запущенным с администраторскими полномочиями.
Размер swap файла в Linux
Существует сразу несколько вариантов, позволяющих увеличить файл подкачки linux или уменьшить его. Однако, прежде чем их рассмотреть, необходимо напомнить об одном очень важном моменте:
Когда вы полностью отключаете файл подкачки, ваша операционная система использует только ОЗУ и в случае ее нехватки это может привести к полной остановке работы компьютера. Система просто зависнет.
Для того чтобы этого не произошло, в тот момент, когда мы удаляем или изменяем основной файл подкачки, необходимо создать второй, временный swap. Если вы это сделали или уверены в том, что имеющейся оперативной памяти хватит, можно переходить непосредственно к процессу изменения размера файла подкачки. Для этого давайте сначала отключим его:
sudo swapoff /swapfile
Вторым этапом меняем размер файла подкачки, воспользовавшись командой, приведенной ниже. При этом размер вашего swap файла нужно указать вместо параметра 2G (2 гигабайта):
Теперь форматируем полученный файл в файловую систему swap:
sudo mkswap /swapfile
А затем включаем его обратно:
sudo swapon /swapfile
При этом операционная система Linux позволяет использовать сразу несколько swap.
Как удалить файл подкачки в Linux
Если по каким-то причинам файл подкачки вам не нужен, можете удалить его. Для этого сначала надо отключить swap linux:
sudo swapoff /swapfile
Не забудьте установить права на вновь созданный файл подкачки так, как мы описывали это выше.
В заключение
Надеемся теперь концепция файла подкачки в Linux ясна вам на 100%. Можете переходить к практике и проверять наличие swap на вашем компьютере или ноутбуке, его настройке, созданию или даже удалению. Если в результате у вас останутся какие-то вопросы, предложения или замечания, можете задать их нам, воспользовавшись формой комментирования ниже.
Нет похожих записей
Оцените статью:
Об авторе
18 комментариев
>> В последних версиях операционной системы Ubuntu Linux файл подкачки создается автоматически вне зависимости от того, хотите вы этого или нет. При этом его размер составляет около 1 Гб.
Конечно же это не так!
Есть приедложение: вставляй скриншоты именно тех окон, которые необходимы по ходу статьи а не ввесь скриншот твоего рабочего стола, для лучшей читабельности скриншота.
Вообще, автор несколько недоговаривает насчет свапа в GNU/Linux (вероятно, ввиду незнания). Дело в том, что свап нужен не столько для срочного получения памяти, сколько для ровного и эффективного высвобождения памяти. Использовать его в качестве «срочной памяти» в общем случае очень вредно.
И отключение swap не спасает от проблемы дискового ввода/вывода при конкуренции за память — дисковый I/O просто перемещается с анонимных страниц на файловые. Это не только может быть менее эффективным, поскольку остаётся меньший пул страниц, доступных для высвобождения, но и само по себе может способствовать появлению этой высокой конкуренции.
Файл подкачки и раздел подкачки в Arch Linux: что выбрать и как добавить Swap
Оперативная память, наравне с центральным процессором, является определяющей в производительности компьютера. Причём не так даже важная скорость (частота) оперативной памяти, сколько важно её количество — объём ОЗУ.
Компьютер начинает работать намного медленнее, если ему не хватает оперативной памяти. Причём если у него есть раздел подкачки, то он может скопировать на него часть информации из оперативной памяти и затем прочесть её — это уменьшает быстродействие, но хотя бы не приводит к сбросу запущенных задач и зависанию компьютера.
Итак, если производительность вашего компьютера падает из-за недостатка оперативной памяти, то я рекомендовал бы в первую очередь апгрейдить железо, то есть докупить ещё планки оперативной памяти. Но это бывает не всегда возможно. Либо, в дополнении к покупке аппаратной ОЗУ, можно добавить ещё раздел подкачки.
Что такое Swap
Swap, иногда пишут Своп — это то, что в Windows называют разделом подкачки — то есть это место в постоянном хранилище (жёсткий диск, SSD, USB хранилище) на которое временно сбрасывается часть оперативной памяти, которая:
а) в данный момент не используется в вычислениях
б) не умещается в физической оперативной памяти.
В чём разница между разделом подкачки и файлом подкачки
Итак, мы определились, что раздел подкачки и файл подкачки в Linux называется Swap.
Теперь рассмотрим два доступных варианта: раздел и файл подкачки.
Раздел подкачки
Раздел подкачки — это выделенное место на диске, отдельный том, который создаётся при разметке диска во время установки операционной системы.
Если вы захотите создать раздел подкачки уже после установки операционной системы, например, следующим образом: уменьшить объём одного из разделов, а на высвободившемся месте создать Swap раздел, то скорее всего, вы не сможете это сделать «на горячую», то есть во время работы этой самой операционной системы. Вам придётся загрузиться с USB носителя или оптического диска и с него выполнить необходимые операции.
Файл подкачки
Файл подкачки выполняет те же функции, что и раздел, но является более удобным в использовании.
Удобства использования файла подкачки выражаются в следующем:
а) файл подкачки создаётся как обычный файл, то есть не нужно делать разметку диска
б) для подключения файла подкачки не нужно перезагружать операционную систему
в) для изменения размера файла подкачки не нужно перезагружать операционную систему
г) для отключения и удаления файла подкачки не нужно перезагружать компьютер
То есть, вполне реальна ситуация, когда вам нужен файл подкачки на короткое время — например, на час. Вы можете его создать, подключить, выполнить задачу, которая требует значительный объёмов оперативной памяти, а поле завершения работы отключить и удалить его. Это особенно актуально, если у вас, например, быстрый, но не большой по объёму SSD накопитель — и мы не хотите постоянно держать файл подкачки, особенно если он не особенно нужен большую часть времени.
Ещё вариант с файлом подкачки удобен на VPS хостинге, когда не нужны лишние простои сервера из-за обслуживания, и невозможность физического доступа требует обращения в службу поддержки.
Как в Linux вывести информацию о файле подкачки
Чтобы проверить, присутствует ли файл подкачки, какой его размер и насколько он используется, выполните команду:
Как создать файл подкачки в Arch Linux
Все последующие команды нужно выполнять с привилегиями root пользователя.
Чтобы создать файл подкачки (Swap файл) выполните команду fallocate, вместе с которой нужно указать размер создаваемого файла подкачки. Можно использовать сокращения (M = мегабайты, G = гигабайты). Например, для создания файла подкачки размером 16 Гигабайт, размещённого по пути /swapfile нужно выполнить команду:
Команда fallocate может вызвать проблемы с некоторыми файловыми системами, такими как F2FS или XFS. В качестве альтернативы более надёжно, хотя и более медленно, это использование команды dd (в этом примере будет создат файл размером 512 Мегабайт):
Установите права доступа на файл (доступный всем для чтения swap это огромная локальная уязвимость):
Отформатируйте файл в swap:
Активируйте файл подкачки:
Обратите внимание, что уже на этом этапе файл подкачки начинает использоваться — перезагрузка системы не требуется!
Для того, чтобы файл подкачки использовался после каждой перезагрузки откройте файл /etc/fstab.
В графическом интерфейсе:
В интерфейсе командной строки:
И добавьте в этот файл строку:
Внимание: файл подкачки должен быть указан по его расположению в файловой системе, а не по его UUID или LABEL.
Удаление файла подкачки
Для удаления файла swap его нужно в начале отключить, а затем он может быть удалён:
Наконец удалите соответствующие строку из файла /etc/fstab.
Файл подкачки Windows
По запросу в любой поисковой системе «файл подкачки windows» можно получить тысячу-другую скопированных друг у друга, либо немного отличающихся ответов по выбору оптимальных размеров для pagefile.sys.
Самые распространенные советы выглядят примерно следующим образом: для машин с маленьким ОЗУ нужно задавать размер файла подкачки k*RAM, где RAM — объем физической памяти, k — какой-нибудь коэффициент, коих много самых разнообразных. И 1,5, и 2, и даже 3 встречал. Если же планок памяти стоит на 4Гб и больше, то «смело отключайте виртуальную память в принципе».
Статья о том, стоит ли верить ли этим советам, и если да, то насколько.
Что такое файл подкачки?
pagefile.sys, он же файл подкачки — файл, представляющий собой виртуальную память, которая позволяет одновременно выполняться большому количеству процессов, которые все сразу не смогли бы поместиться в физической памяти.
По умолчанию после установки Windows файл подкачки увеличивается автоматически при заполнении текущего объема.
Если отключить файл подкачки
Если попытаться отключить файл подкачки в windows 7, система выдаст предупреждающее окно, в котором сообщит о неприятных последствиях:
Отсюда следует, что не стоит полностью отказываться от использования виртуальной памяти, иначе в случае краха не получится даже проанализировать причину сбоя. Указанный на скриншоте минимальный размер в 1МБ берется из расчета конфигурации дампа памяти в настройках «загрузка и восстановление»:
Если выбрать для записи отладочной информации полный дамп, то размер увеличивается на несколько порядков. У меня он составил 400МБ.
Кроме отсутствия возможности записи дампа, после отключения файла подкачки может появится назойливое сообщение о нехватке памяти. Появление его будет сопровождаться жуткими тормозами ресурсоемких приложений.
Если перенести файл подкачки на другой раздел
Куча статей по оптимизации вашей ОС рекомендует перенести файл подкачки на отдельно созданный и отформатированный в FAT32 раздел жесткого диска. При этом повышается быстродействие и уменьшается фрагментация этого файла.
При подобных манипуляциях не стоит забывать, что файл подкачки должен присутствовать в системном разделе для корректной записи отладочной информации. Выбирать приходится между быстродействием и возможностью сбора данных о возникших неприятностях.
Размер файла подкачки
Вернемся к нашим апельсинам к вопросу об оптимальном размере. Перекопав множество статей, информационных изданий и даже рекомендации Microsoft, я так и не нашел четкого и однозначного ответа на этот вопрос. Да и не нашел бы, как стало мне ясно после прочтения перевода статьи Марка Руссиновича Преодолевая ограничения Windows: виртуальная память. В заключении приведу ссылки на перевод и оригинал, а сейчас постараюсь объяснить, откуда же взять размер файла.
Для начала потребуется утилита Process Explorer, она является бесплатным аналогом дефолтного Task Manager’a, но обладает многими преимуществами. Скачать можно по ссылке.
После запуска Process Explorer’a выберите самые ресурсоемкие в плане используемой памяти приложения, которые используете в повседневной жизни, и запустите их все одновременно. В окне Process Explorer’a нажмите CTRL+I или выберите в меню View/System Information, из всего многообразия представленных в окне данных нужно выбрать область Commit Charge
Значение Peak — пиковое значение выделенной памяти для всех приложений, складываемое из физической и виртуальной памяти.
Далее вооружаемся калькулятором и вычитаем из этого значения размер оперативной памяти. Если получается отрицательное значение — берем требуемые системой 400МБ (может быть другое значение), необходимые для создания дампа. Если получается положительное значение — выставляем таким минимальное и максимальное значение файла подкачки. Можно подстраховаться и установить «про запас» максимум выше, но тогда вырастет фрагментация файла в случае увеличения его размеров. Поэтому лучше зафиксировать на одном месте.