Ubuntu 20.04 изменить размер swap после установки.
Вечер добрый, ЛОР. Прошу прощения за очередной глупый вопрос, не могу адекватно нагуглить правильное решение, а в теме не силён. Есть Ubuntu 20.04, стандартная установка с LVM + LUKS. Проблема заключается в том, что Ubuntu сделала 980 мб под своп и мне этого не всегда хватает, из-за чего тот же Android эмулятор оказывается прибит ООМ. Вопрос вот в чем: Как можно изменить размер этой свап партиции? В интернете все инструкции советуют создавать отдельно swap файл и таким образом двигать мебель, но мне кажется это какой-то костыль. Заранее спасибо за ответы.

Jefail ★★★★
25.04.20 17:43:55 MSK
советуют создавать отдельно swap файл и таким образом двигать мебель, но мне кажется это какой-то костыль
Уже больше двух лет, по умолчанию, *бунту создает свап-файл вместо свап-раздела. Размер его по умолчанию — четверть озу. Как раз можешь убедиться, что файл удобней раздела. Можешь создать любое количество свап-файлов, любого размера, в любое время. Подключить их все сразу или по необходимости. Можещь удалить свап-файл и создать новый, нужного тебе размера.
andytux ★★★★★
( 25.04.20 18:03:28 MSK )
Ответ на: комментарий от andytux 25.04.20 18:03:28 MSK

Но если верить выводу swapon -s то нет. Да и размер там всего 1гб, а оперативной памяти у меня 16.
vsulimov@matebook-x-pro:~$ swapon -s Filename Type Size Used Priority /dev/dm-2 partition 999420 0 -2
Jefail ★★★★
( 25.04.20 19:44:56 MSK ) автор топика
Ответ на: комментарий от Jefail 25.04.20 19:44:56 MSK
Если swap в конце, загрузись в Live, в Gparted удали swap, уменьши раздел убунты, в оставшемся месте создай новый swap раздел побольше. Если swap в начале, ничего не поделать. Двигать начала ФС крайне нерекомендуется Куда уйти от ext4 ? (комментарий) Но можно создать swap в виде файла любого размера
sudo dd if=/dev/zero of=/swap bs=1M count=2048 status=progress sudo chmod 600 /swap sudo mkswap /swap sudo swapon /swap sudo nano /etc/fstab /swap swap swap defaults 0 0 sudo swapon -s
anonymous
( 25.04.20 22:03:39 MSK )
Ответ на: комментарий от anonymous 25.04.20 22:03:39 MSK
Если swap в конце, загрузись в Live, в Gparted удали swap, уменьши раздел убунты, в оставшемся месте создай новый swap раздел побольше
Надо еще в /etc/fstab прописать новый UUID раздела, иначе система не загрузится. Или можно не удалять swap (чтобы UUID не менялся), а расширить влево. Не знаю, позволит ли это Gparted. Если swap будет примонтирован и в Live (скорее всего), ПКМ — выбери «отмонтировать swap».
anonymous
( 25.04.20 22:07:22 MSK )
Ответ на: комментарий от anonymous 25.04.20 22:03:39 MSK
Если swap в начале, ничего не поделать
Опять же можно создать еще один swap раздел в конце, отрезав место у убунты, но проще создать в виде файла.
anonymous
( 25.04.20 22:08:30 MSK )
Ващет в убунте давно применяется динамический файл свапа. Когда требуется он вырастет.
Deleted
( 25.04.20 22:10:49 MSK )
Ответ на: комментарий от anonymous 25.04.20 22:03:39 MSK
Зазор в начале на 1 Гб будет даже полезен, если когда-нибудь ошибешься с dd. Только сделай копию первых секторов диска и помести ее на другой носитель.
ubuntu swap Изменить размер области свопа — «файл подкачки»
![]()
Проверить доступность свопа можно с помощью команды:
grep SwapTotal /proc/meminfo
или в целом для памяти:
free -h
- Change swap size in Ubuntu 18.04 or newer: https://bogdancornianu.com/change-swap-s.
- Как увеличить размер swap в Ubuntu: https://andreyex.ru/ubuntu/kak-uvelichit.
- Настройка swap в Ubuntu: https://losst.ru/nastrojka-swap-v-ubuntu.
Создание SWAP в ОС Linux (Ubuntu, Debian, CentOS, AlmaLinux) и FreeBSD на виртуализации KVM
![]()
Операционная система делит свою оперативную память на так называемые страницы (кусочки), и иногда возникают ситуации, когда часть данных из оперативной памяти необходимо освободить. Сделать это можно с помощью специального механизма, который позволяет перенести часть данных из оперативной памяти на HDD или SSD накопитель, а точнее на специально сконфигурированный для этого раздел на диске. Этот процесс называется swapping (своппинг). В большинстве случаев своппинг используется, когда оперативная память переполнена и для дальнейшей работы операционной системы необходимо ее освободить. В данной статье рассмотрим, как создать специальный раздел на диске (SWAP (своп), или виртуальное пространство подкачки, или файл подкачки), как проверить его работу, а также как сделать так, чтобы после перезагрузки данный раздел подключался автоматически.
Все действия выполняются пользователем root, либо привилегированным пользователем с помощью sudo. Рекомендуем использовать объём для SWAP максимум в два раза больше, чем реальный размер оперативной памяти. На практике обычно достаточно 50-100% от размера ОЗУ. Если для работы вам необходимо увеличить объем ОЗУ на сервере — лучше увеличить его, так как SWAP работает намного медленнее, чем ОЗУ (а в случаях с дисками SSD и NVMe ещё и сокращает время их жизни), и использование SWAP вместо ОЗУ приведёт к потерям скорости.
Linux (Ubuntu, Debian, CentOS, AlmaLinux)
Данная инструкция подходит для операционных систем Ubuntu 18.04, Ubuntu 20.04, Ubuntu 22.04, Debian 10, Debian 11, CentOS 7, AlmaLinux 8, AlmaLinux 9, и других.
Добавление SWAP
В целом для всех операционных систем семейства Linux механизм добавления SWAP одинаковый. Проверяем, подключен ли SWAP:
# swapon --show
Если вывод пустой, то SWAP-а в системе нет. Если вывод выглядит примерно так:
NAME TYPE SIZE USED PRIO /swapfile file 512M 0B -2
Значит, SWAP уже подключен. В нашем случае его размер равен 512 МБ. Также проверим наличие SWAP с помощью команды free :
# free -h
Вывод будет примерно таким:
total used free shared buff/cache available Mem: 1.9Gi 69Mi 1.7Gi 2.0Mi 128Mi 1.7Gi Swap: 512Mi 0B 512Mi
Здесь мы видим, что SWAP есть и его размер 512МБ. В случае его отсутствия строки Swap не будет. Перед созданием SWAP обязательно нужно проверить, есть ли свободное место на диске:
# df -h
Смотрим вывод и видим, что на диске свободно 36 ГБ. Если на диске мало места, перед добавлением SWAP необходимо очистить его либо увеличить объём диска. Для работоспособности системы необходимо минимум 5% свободного дискового пространства (либо больше, в зависимости от особенностей ваших проектов). После добавления SWAP раздел подкачки будет занят, имейте это ввиду при расчётах оставшегося свободного места на диске.
Filesystem Size Used Avail Use% Mounted on udev 966M 0 966M 0% /dev tmpfs 199M 596K 199M 1% /run /dev/vda2 40G 1.9G 36G 5% / tmpfs 994M 0 994M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 994M 0 994M 0% /sys/fs/cgroup tmpfs 199M 0 199M 0% /run/user/0
Сначала рассмотрим случай, когда SWAP в системе нет. Создаём файл для SWAP размером 2 ГБ:
# dd if=/dev/zero of=/swapfile bs=1M count=2048
Вывод будет таким:
2048+0 records in 2048+0 records out 2147483648 bytes (2.1 GB, 2.0 GiB) copied, 5.2341 s, 410 MB/s
Данная команда создаст файл /swapfile размером 2048 мегабайт. Нужно больше или меньше — можно увеличить или уменьшить значение count . Чтобы никто не мог читать или править файл, кроме владельца — root, устанавливаем права на него:
# chmod 600 /swapfile
Проверим, что права выставлены верно:
# ls -la /swapfile
Вывод должен быть таким (rw для пользователя, владелец и группа root, размер 2 ГБ):
-rw------- 1 root root 2147483648 Dec 18 19:05 /swapfile
Форматируем файл под swap:
# mkswap /swapfile
Вывод будет примерно таким:
Setting up swapspace version 1, size = 2 GiB (2147479552 bytes) no label, UUID=38e12a0a-58ea-4bc5-b0f9-58a29a1dd8db
Включаем SWAP:
# swapon /swapfile
После проверим, что SWAP включен и его размер соответствует тому, что мы указывали:
# free -m total used free shared buff/cache available Mem: 1977 113 65 2 1799 1691 Swap: 2047 0 2047 # swapon --show NAME TYPE SIZE USED PRIO /swapfile file 2G 0B -2
Готово. Мы добавили SWAP в систему.
Автоматическое подключение SWAP после перезагрузки
Далее сделаем так, чтобы SWAP подключался автоматически после перезагрузки системы. Чтобы SWAP включался при загрузке, нужно добавить его в /etc/fstab . Добавляем в конец файла /etc/fstab строку:
/swapfile none swap sw 0 0
Конец файла /etc/fstab будет выглядеть примерно так:
/dev/vda2 / ext4 errors=remount-ro 0 1 /swapfile none swap sw 0 0
После этого можно перезагрузить VDS и проверить наличие SWAP командой free -m . Должно быть что-либо вида:
Swap: 2048 0 2048
Изменение SWAP
Рассмотрим случай, когда в системе уже есть SWAP, и нам нужно его изменить.
# swapon --show /swapfile file 256M 0B -2
Видим, что у нас в /swapfile 256 МБ, а нам нужно 2 ГБ. Как уже писали ранее, проверяем, что на накопителе есть свободное место с помощью команды df -h . Далее выключаем имеющийся файл подкачки /swapfile:
# swapoff /swapfile
Проверяем с помощью swapon —show . Важно, что при отключении SWAP не должен использоваться системой. В противном случае можно отключить некоторые сервисы, которые потребляют ОЗУ, и после увеличения SWAP включить их обратно. Меняем размер файла подкачки уже знакомой командой:
# dd if=/dev/zero of=/swapfile bs=1M count=2048
Далее инструкция такая же, как и при добавлении SWAP, только в нашем случае /swapfile уже имеет правильные права. Просто проверим, что это так:
# ls -la /swapfile -rw------- 1 root root 2147483648 Dec 18 20:24 /swapfile
Помечаем /swapfile как файл подкачки:
# mkswap /swapfile
И активируем SWAP:
# swapon /swapfile
Проверяем, что SWAP увеличился, а также проверяем файл /etc/fstab :
# swapon --show # cat /etc/fstab
FreeBSD
Добавление SWAP
В ОС FreeBSD 12 и FreeBSD 13 SWAP добавляется иначе. Для начала необходимо проверить, есть ли в системе SWAP. Это можно сделать с помощью команд:
# swapinfo
(если вывод пустой, SWAP-а нет) или
(если в выводе не будет строки SWAP, то файла подкачки нет). Обязательно проверяем наличие свободного дискового пространства:
# df -H
Если места недостаточно, либо если после добавления SWAP его останется меньше 5% — нужно очистить место на сервере либо увеличить размер дискового пространства. Создаём файл для SWAP:
# dd if=/dev/zero of=/swapfile bs=1m count=2048
Вывод будет примерно таким:
2048+0 records in 2048+0 records out 2147483648 bytes transferred in 5.780501 secs (371504758 bytes/sec)
Данная команда создаст файл /swapfile размером 2048 мегабайт. Нужно больше — можно увеличить count . Правим права на него:
# chmod 600 /swapfile
Это чтобы никто не мог писать и читать файл, кроме владельца — root. Проверим, что права и владелец файла подкачки правильные:
# ls -la /swapfile
Вывод будет таким:
-rw------- 1 root wheel 2147483648 Dec 18 21:36 /swapfile
Пользователь root, группа wheel (для FreeBSD это нормально), права rw для пользователя. Включаем SWAP:
# swapon -aq
И проверяем:
# swapinfo -k
Вывод будет примерно таким:
Device 1K-blocks Used Avail Capacity /dev/md42 2097152 0 2097152 0%
Также можно проверить с помощью команды top, в выводе будет строка с SWAP:
Swap: 2048M Total, 2048M Free
Автоматическое подключение SWAP после перезагрузки
Осталось сделать так, чтобы SWAP подключался после перезагрузки системы. Для этого в конец файла /etc/fstab нужно добавить строку:
md42 none swap sw,file=/root/swap1 0 0
После этого можно перезагрузить VDS и проверить наличие SWAP командой top . Вывод должен быть вида:
Swap: 2048M Total, 2048M Free
Ubuntu. Увеличить SWAP
Обновление npm через npm + команда для обновления пакета на примере angular cli (глобально).
18 августа 2017 г. в Linux, NodeJS, Windows
Виртуальные хост apache, nginx на ubuntu
Краткий список действий по созданию виртуального хоста в Ubuntu
21 августа 2018 г. в Linux
На курсах backend по C++
Настройка после установки Ubuntu 18.04 для курса по C++
20 ноября 2018 г. в Linux, Для студентов
Ubuntu. Открыть файловый менеджер из текущей директории терминала
27 августа 2019 г. в Linux
Интерактивные и удобные linux инструменты
Обновленные альтернативы инструментов командной строки cat, ncdu/du, ls, find, jq
15 ноября 2020 г. в Linux
© 2017-2020 — Александр Ветров
Сайт работает на October CMS