# Нужен ли swap на виртуальной машине с малым объёмом памяти и как его добавить без переразметки диска

**URL:** <https://kryptos.forum/t/nuzhen-li-swap-na-virtualnoj-mashine-s-malym-obyomom-pamyati-i-kak-ego-dobavit-bez-pererazmetki-diska/113>\
**Category:** Виртуальные машины и серверы\
**Tags:** виртуальные-машины\
**Created:** [30.Сентябрь.2026 08:45:20 UTC](https://kryptos.forum/t/nuzhen-li-swap-na-virtualnoj-mashine-s-malym-obyomom-pamyati-i-kak-ego-dobavit-bez-pererazmetki-diska/113 "2026-09-30T08:45:20Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![team\_vm](https://kryptos.forum/letter_avatar_proxy/v4/letter/t/779978/32.png) [@team\_vm](https://kryptos.forum/u/team_vm)\
**Post date:** [30.Сентябрь.2026 08:45:20 UTC](https://kryptos.forum/t/nuzhen-li-swap-na-virtualnoj-mashine-s-malym-obyomom-pamyati-i-kak-ego-dobavit-bez-pererazmetki-diska/113/1 "2026-09-30T08:45:20Z")

</div>

**Вопрос из обсуждения.** Виртуальная машина с Ubuntu Server 22.04 и небольшим объёмом памяти, разметку менять нельзя. Нужен ли swap и как его сделать?

**Что ответили участники.** Виртуальную машину настраивать так же, как обычную Ubuntu: swap может быть разделом или файлом. Когда переразметка недоступна, файл подкачки полностью решает задачу. Опасения про фрагментацию файла на ext4 теоретические: файловая система сама её избегает. Файл проще: его можно увеличить, уменьшить или убрать без перезагрузки. И первое, что стоит проверить: возможно, swap уже есть (`swapon --show`, `free -h`), многие образы идут с ним.

**Наша позиция.** Swap на сервере с 1–4 ГБ памяти нужен, но не как «дополнительная память», а как буфер: он даёт ядру возможность выгрузить редко используемые страницы и пережить короткий всплеск вместо мгновенного OOM-killer. Размер: 1–2 ГБ при памяти до 2 ГБ, дальше 2–4 ГБ; правило «двойной объём памяти» устарело. Если swap заполнен постоянно (`vmstat 5` показывает ненулевые `si`/`so` круглые сутки), это не решение, а сигнал добавить памяти или убрать лишнее.

**Как добавить файл подкачки.**

```auto
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab

```

Проверка: `swapon --show`, `free -h`. На btrfs `fallocate` не подходит: нужен файл без копирования при записи (`chattr +C`) или отдельный подтом; на ext4 и xfs команды выше работают как есть.

**Swappiness.** По умолчанию 60, что рассчитано на рабочие станции. Для сервера обычно 10: ядро держит данные в памяти и уходит в swap только под реальным давлением. `sysctl vm.swappiness=10` и строка `vm.swappiness=10` в `/etc/sysctl.d/99-swap.conf`.

**Два предостережения.**

- Swap на медленном сетевом диске делает сервер под нагрузкой не «медленным», а «висящим»: если диск виртуальной машины на HDD-хранилище, лучше меньше swap и жёсткий контроль памяти сервисов.
- Swap не заменяет лимиты: MySQL или Java с настройками «под всю память» сначала съедят память, потом swap, и OOM всё равно придёт, только на час позже.

Настройка описана в [руководстве сообщества Ubuntu](https://help.ubuntu.com/community/SwapFaq).
