Перейти к содержимому

Как увеличить swap ubuntu

  • автор:

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 Изменить размер области свопа — «файл подкачки»

vedro-compota's picture

Проверить доступность свопа можно с помощью команды:

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

url image

Операционная система делит свою оперативную память на так называемые страницы (кусочки), и иногда возникают ситуации, когда часть данных из оперативной памяти необходимо освободить. Сделать это можно с помощью специального механизма, который позволяет перенести часть данных из оперативной памяти на 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *