Как в Linux Mint и Ubuntu увеличить и раздел подкачки. Как в Linux создать файл подкачки Swap
В этой статье на примере Linux Mint и Ubuntu мы научимся смотреть информацию по разделе подкачки, создавать файл подкачки, а также увеличивать доступное для подкачки место.
Файл подкачки — это определённое место на постоянном хранилище (например, на жёстком диске), куда на время сбрасываются данные, которые не умещаются в оперативную память. То есть это возможность увеличить количество оперативной памяти без покупки модулей ОЗУ. Правка, такая «виртуальная» оперативная память работает медленнее.
Посмотреть текущий размер раздела подкачки можно командой:
Либо командой free:
Либо с помощью top:
Как можно увидеть, в системе присутствует файл подкачки размером 2 Гигабайта, что, предположим, недостаточно.
Отключаем и удаляем этот файл подкачки следующими командами:
На диске должно быть достаточно места, чтобы туда поместился файл подкачки того размера, который вы задали.
Для создания файла подкачки размером 8G (измените значение по вашему желанию) выполните команду:
Затем выполните команды:
Откройте системный монитор, чтобы убедиться, что система видит файл подкачки:
Либо это можно сделать командой:
Вот и всё! Вам даже не нужно перезагружать систему, чтобы изменения вступили в силу.
Кстати, если вы вновь заходите изменить размер файла подкачки (в сторону увеличения или в сторону уменьшения — не важно), то в точности следуйте этой же инструкции ещё раз, но при создании файла подкачки укажите другой размер.
Как в Linux Mint и Ubuntu удалить файл подкачки
Для полного удаления файла подкачки выполните команды:
Затем откройте файл /etc/fstab:
И удалите из него строку:
Ошибка «fallocate: fallocate failed: Текстовый файл занят»
Если вы столкнулись с ошибкой:
Это означает, что вы хотите создать файл подкачки, но файл с таким именем уже существует и всё ещё используется.
Для его отключения и удаления выполните команды:
Управление файлами подкачки в других Linux
Для увеличения или создания файла подкачки в других дистрибутивах смотрите статьи:
- Как в Kali Linux создать или увеличить файл подкачки (Swap)
- Файл подкачки и раздел подкачки в Arch Linux: что выбрать и как добавить Swap
Источник
Создание swap, раздел подкачки 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
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
Источник
linux-notes.org
Увеличить SWAP на Ubuntu/Debian/Mint
Была проблема, у меня на Debian была создана подкачка (swap) в 1Гб, но как оказалось, мне этого мало и нужно увеличить хотя бы до 3-хГб. Данная тема «Увеличить SWAP на Ubuntu/Debian/Mint», как раз затронет этот вопрос.
Раздел подкачки является независимым разделом жесткого диска, используемого исключительно для подкачки. Swap представляет собой специальный файл в файловой системе, которая находится среди вашей системы и файлов данных.
1. Проверим сколько у нас выделено Swap-а:
Если не установлен, то установите или используйте аналог программы, под названием top. Чтобы установить используйте команду:
И смотрим сколько у нас выделено памяти:
используем утилиту htop для вывода swap
Собственно, у меня
1Гб, и как сказал ранее, я хочу его увеличить.
Так же, можно заюзать утилиту free и узнать какой swap используется:
Как видно по утилитам, данные совпадают.
Если знаете что на сервере имеется свап, но не помните какой размер, так же имеется утилита которая покажет эти данные:
Выбираем какой способ подойдет вам лучше и используем.
2. Создание раздела подкачки.
Проверяем где и сколько имеется свободного места, можно выполнить команду:
Расскажу несколько способов создать данный файл. Создадим папку в которую попозже мы примонтируем файл подкачки:
— СПОСОБ-1: Использовать утилиту dd.
В созданной папке будет храниться файл подкачки. Следующим действием, создаем файл:
увеличиваем раздел подкачки командой dd
Ждем определенное время, пока оно выполнится.
PS: Возможно прийдется создать сам файл:
Если запускаете от суперпользователя, то не нужно ничего создавать, утилита dd сделает все за вас.
— СПОСОБ-2: Использовать утилиту fallocate.
Данная утилита создаст файл мгновенно и тем самым экономит ваше время:
Мне больше по душе — 2-й способ с использованием утилиты fallocate.a
3. Создание swap-а
Для начала, выставляем нужные права на файл:
Делается это командой:
Создание образа swap командой mkswap
4. Добавление swap в fstab.
Это нужно сделать чтобы каждый раз при старте мой ОС, автоматически монтировался наш фал подкачки, который мы создали, для этого нужно выполнить команду:
И добавляем следующую строчку:
5. Активируем (включаем) нас swap.
Чтобы это сделать, стоит выполнить команду:
6. Проверка.
Необходимо убедится что у нас все нормально работает, сейчас мы это и проверим:
вывод количества swap
Собственно, видно что все работает нормально, но еще сейчас запустим утилиту htop и посмотрим что показывает она:
вывод количества swap с помощью программы htop
7. Взаимодействие SWAP с ОС. Проверика и настройка.
Есть несколько вариантов, которые вы можете настроить для более лучшей производительности вашей системы при работе со свопом.
Параметр swappiness определяет, как часто ваша система обменивается данными из оперативной памяти в подкачку. Этот параметр имеет диапазон от 0-100 и представляет собой процент.
При значениях, близких к нулю, ядро не обменяется данными на диск, если это абсолютно необходимо. Помните, что взаимодействие с файлом подкачки являются «дорогими» в том плане, что такие операции занимают гораздо больше времени, чем взаимодействие с оперативной памятью и тем самым могут привести к значительному снижению производительности.
Значения, которые находятся ближе к 100%, ядро будет пытаться поместить больше данных в своп и освободить RAM.
Чтобы проверить текущее значение swappiness, выполните:
Т.к я использую виртуальную машину для тестов — установка swappiness в 60 — дает не плохое значение, но для VPS желательно приблизить данный параметр в 0. И чтобы изменить swappiness используйте команду SYSCTL.
Например, чтобы установить swappiness в 10, выполним:
Этот параметр не сохранится до следующей перезагрузки и чтобы он применялся при каждом запуски ОС автоматически, нужно изменить (добавив строку в) файл /etc/sysctl.conf:
В самом низу файла, прописываем:
Сохраняем и закрываем файл.
Другой связанной с этим значением параметр которое вы можете захотеть изменить — vfs_cache_pressure, который настраивает, как много система будет выбирать кэш иноде и dentry по сравнению с другими данными.В основном, это доступ к данным о файловой системе и чтобы посмотреть текущее значение, выполните:
Параметр установлен в 100 и тем самым система удаляет информацию инодам из кэша очень быстро. Но если захотите уменьшить, выполните:
Это будет работать только до завершения вашей сессии и вы можем изменить его в файле ( как и ранее):
В самом низу происываем строку, которая определяет ваше новое значение:
Источник
Раздел swap для linux mint
20 май 2021, 01:09
Вот как раз в этом случае выставление swapiness 10 — не слишком то поможет, скорее ухудшит ощущения.
Когда система имеет этот параметр равным 10 — она будет скидывать в своп данные максимально поздно, когда уже памяти ни на что другое не хватает. Беда в том, что это неплохо работало, пока размеры данных которые скидывались в своп исчислялись максимум десятками мегабайт за раз. На это уходило несколько секунд, максимум 5-10, и переждать полный ступор системы это время было еще как-то терпимо. А он именно что полный в таком случае.
Но на современных системах, даже если у вас два гига памяти — система будет хотеть выгрузить этак мегабайт 300-500 за раз в подобном случае. А это уже не 5-10 секунд, а все 30-60, особенно когда диск не быстрый. Вот здесь уже имеет смысл не доводить до самой крайности, и давать системе выгрузить часть данных в своп РАНЬШЕ. Чтобы она в этот момент оставалась хотя бы частично доступной. Ведь сам процесс выгрузки полностью систему не блокирует — блокирует ожидание возможности освободить блоки памяти которые сейчас еще не в свопе и как раз пишутся. Потому если они окажутся в свопе раньше (заранее) — то системе не придется ждать их записи — достаточно будет просто удалить из памяти. А это намного быстрее.
Тут надо еще понимать, что если часть памяти попала в своп — это не значит что она уже сразу удалена из ОЗУ в тот же момент — это не так работает. Вообще — система виртуальной памяти устроена гораздо сложнее чем «два сообщающихся сосуда где жидкость переливается». Так что имея недостаток ОЗУ — при нынешних соотношениях объемов оперативной памяти и скоростей HDD выгоднее оставить swappines в покое на 60. И крутить немного другие параметры: vm.vfs_cache_pressure, vm.dirty_background_ratio, vm.dirty_ratio. Толку будет гораздо больше. Добиваться надо того, чтобы система начинала писать редко используемые страницы в своп заранее, и фоном. А не в последний момент — вешаясь при этом наглухо.
Но это все в любом случае не поможет, если память нужна ОДНОЙ задаче и сразу. Виртуальная память хорошо справляется когда процессов много и часть из них спит и просыпается периодически. А вот когда одной программе нужно сразу большой объем для текущей работы — тут уже никакой настройкой не поможешь. И чтоб вы понимали — броузер это именно такая задача. Точнее говоря — фоновые вкладки в отдельных процессах хорошо выгружаются, но беда в том, что нынешние сайты в единственной вкладке запросто до гигабайта сожрут и не подавятся.
Источник