Подробный гайд: Swap-файл в Linux и объём 18400030736. Часть 1: разделы 1–10

Как создать, настроить, увеличить и удалить swap-файл в Linux: размер 18400030736 байт, команды, права, fstab, проверка, ошибки, гибернация и производительность.

2026.08.27                  


Подробный гайд: Swap-файл в Linux и объём 18400030736. Часть 1: разделы 1–10Подробный гайд: Swap-файл в Linux и объём 18400030736. Часть 1: разделы 1–10

Swap-файл в Linux и объём 18400030736. Часть 1: разделы 1–10

Эта статья посвящена практической работе со своп-файлом в Linux на примере объёма 18400030736. Мы разберём, что означает это число, как подготовить систему, как создать своп-файл, какие команды использовать, как сделать его постоянным и как правильно подойти к выбору размера.


1. Что означает число 18400030736

В контексте Linux-систем число 18400030736 чаще всего означает размер в байтах.



18400030736 bytes

Если перевести это в более привычные единицы:

18400030736 байт ≈ 18.40 GB
18400030736 байт ≈ 17.14 GiB

То есть речь идёт о своп-файле размером примерно 17 гигабайт в двоичной системе, которую обычно используют операционные системы и утилиты мониторинга. Однако важно учитывать источник числа.

Если вы видите 18400030736 в выводе команд вроде:

free
cat /proc/swaps
top

нужно проверить единицы измерения. Некоторые утилиты по умолчанию показывают значения в килобайтах.

Если 18400030736 — это не байты, а килобайты, тогда размер будет намного больше:

18400030736 KiB ≈ 17.14 TiB

Это уже около 17 тебибайт, что для обычного компьютера или сервера встречается крайне редко.

Чтобы не путаться, используйте человеческий формат вывода:

free -h
swapon --show
df -h

Или проверяйте файл напрямую:

ls -lh /swapfile

2. Подготовка к созданию своп-файла

Перед созданием своп-файла нужно убедиться, что система готова к операции.

Проверьте текущий своп

Посмотрите, есть ли уже активный своп:

swapon --show

Альтернативный вариант:

cat /proc/swaps
  • Если вывод пустой, значит своп в данный момент не используется.
  • Если своп уже есть, вы можете либо добавить ещё один своп-файл, либо заменить существующий.

Проверьте свободное место

Если вы планируете создать файл /swapfile в корне системы, проверьте свободное место на корневом разделе:

df -h /

Для файла размером около 18.4 ГБ нужно иметь как минимум 18.4 ГБ свободного места, но лучше оставлять запас. Например, если вы хотите создать файл размером 18400030736 байт, желательно иметь не менее 20 ГБ свободного пространства.

Проверьте размер страницы памяти

Своп в Linux работает со страницами памяти. Обычно размер страницы составляет 4096 байт.

Проверить его можно командой:

getconf PAGESIZE

Пример вывода:

4096

Точный размер своп-файла до байта обычно не критичен. Чаще всего достаточно размера, кратного мегабайту или гигабайту.

Убедитесь, что используете локальную файловую систему

Своп-файл должен находиться на локальном диске. Не рекомендуется использовать своп-файл на сетевых файловых системах, например на NFS.


3. Быстрый вариант создания своп-файла около 18400030736 байт

Если вам нужно быстро создать своп-файл примерно на 18400030736 байт, можно использовать файл размером 17548 MiB.

17548 MiB = 18400411648 bytes

Это немного больше, чем 18400030736, но для своп-файла такая разница не критична.

Команды:

sudo dd if=/dev/zero of=/swapfile bs=1M count=17548 status=progress
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

После этого проверьте результат:

swapon --show
free -h

Если команда swapon --show показывает файл /swapfile, значит своп успешно подключён.


4. Создание своп-файла с помощью fallocate

Утилита fallocate позволяет быстро выделить место под файл без фактической записи всех данных. Это быстрее, чем dd.

Создать файл размером ровно 18400030736 байт можно так:

sudo fallocate -l 18400030736 /swapfile

Далее нужно установить правильные права:

sudo chmod 600 /swapfile

Затем разметить файл как своп:

sudo mkswap /swapfile

И включить его:

sudo swapon /swapfile

Проверка:

swapon --show
free -h

Пример вывода swapon --show:

NAME      TYPE SIZE USED PRIO
/swapfile file 17.1G   0B   -2

Однако у fallocate есть важная особенность: он работает не во всех файловых системах и не всегда подходит для своп-файлов.

Если вы получаете ошибку вроде:

fallocate failed: Operation not supported


лучше использовать dd.


5. Создание своп-файла с помощью dd

Команда dd считается более универсальным способом создания своп-файла, потому что она реально заполняет файл данными.

Рекомендуемый вариант

Создать файл размером примерно 18400030736 байт:

sudo dd if=/dev/zero of=/swapfile bs=1M count=17548 status=progress

Параметры:

if=/dev/zero      — источник нулевых данных
of=/swapfile      — имя создаваемого файла
bs=1M             — блок размером 1 MiB
count=17548       — количество блоков
status=progress   — отображение прогресса

Итоговый размер будет:

18400411648 bytes

Это чуть больше исходного значения, но для свапа подходит.

Точный размер в байтах

Если нужно создать файл ровно на 18400030736 байт, можно использовать:

sudo dd if=/dev/zero of=/swapfile bs=1 count=18400030736 status=progress

Но этот способ будет значительно медленнее, потому что данные пишутся по одному байту.

Выравнивание по размеру страницы

Если размер страницы памяти равен 4096 байт, можно создать файл, размер которого кратен странице и немного превышает нужное значение:

sudo dd if=/dev/zero of=/swapfile bs=4096 count=4492196 status=progress

Такой файл будет иметь размер:

18400034816 bytes

Это на 4080 байт больше, чем 18400030736. Для своп-файла это нормально.

После создания файла в любом случае нужно будет выполнить:

sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

6. Права доступа, разметка и активация

После создания файла обязательно настройте права доступа. Своп-файл должен принадлежать пользователю root и иметь права 600.

sudo chown root:root /swapfile
sudo chmod 600 /swapfile

Если права будут слишком свободными, система может отказаться использовать такой файл из соображений безопасности.

Далее разметите файл как своп:

sudo mkswap /swapfile

Пример вывода:

Setting up swapspace version 1, size = 17.1 GiB
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Затем активируйте своп:

sudo swapon /swapfile

Проверьте, что своп появился:

swapon --show

Также можно посмотреть:

free -h

Если в выводе появилась строка со свопом, значит всё настроено правильно.

Типичные ошибки на этом этапе:

swapon failed: Invalid argument

или:

swapon: /swapfile: insecure permissions

Первая часто означает, что файл создан некорректно, является разрежённым или находится в неподдерживаемой файловой системе. Вторая — что права доступа недостаточно строгие.

В большинстве случаев помогает:

sudo chmod 600 /swapfile
sudo chown root:root /swapfile

Если ошибка остаётся, файл лучше пересоздать через dd.


7. Постоянное подключение своп-файла после перезагрузки

Если просто выполнить команду:

sudo swapon /swapfile

своп будет работать до перезагрузки. После перезагрузки система не подключит его автоматически. Чтобы своп-файл подключался при каждой загрузке, нужно добавить запись в файл /etc/fstab.

Сначала сделайте резервную копию:

sudo cp /etc/fstab /etc/fstab.bak

Затем добавьте строку:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Или отредактируйте файл вручную:

sudo nano /etc/fstab

Добавьте в конец файла строку:

/swapfile none swap sw 0 0

Если вы хотите задать приоритет своп-файла, можно использовать опцию pri.

Например:

/swapfile none swap sw,pri=100 0 0

После сохранения можно проверить применение без перезагрузки:

sudo swapoff -a
sudo swapon -a

Но будьте осторожны: команда swapoff -a отключает все своп-устройства и может вызвать высокую нагрузку, если в свопе уже есть активные данные, а оперативной памяти недостаточно. Безопаснее перезагружать систему в обычное время, когда нагрузка минимальна.



Проверка после перезагрузки:

swapon --show
free -h

8. Как изменить размер существующего своп-файла

В отличие от обычного файла данных, активный своп-файл нельзя просто увеличить или уменьшить. Чтобы изменить размер, нужно отключить своп, удалить старый файл и создать новый.

Шаг 1. Отключите своп

sudo swapoff /swapfile

Если файл используется активно, команда может занять время.

Шаг 2. Удалите старый файл

sudo rm /swapfile

Шаг 3. Создайте новый файл

Например, создадим новый файл размером около 17.14 GiB:

sudo dd if=/dev/zero of=/swapfile bs=1M count=17548 status=progress

Шаг 4. Настройте права

sudo chmod 600 /swapfile

Шаг 5. Разметите и включите своп

sudo mkswap /swapfile
sudo swapon /swapfile

Если запись в /etc/fstab уже есть, повторно добавлять её не нужно.

Проверка:

swapon --show
free -h

Если вы хотите увеличить своп, но не хотите трогать текущий файл, можно создать второй своп-файл. Это будет рассмотрено в следующем разделе.


9. Добавление второго своп-файла

Иногда удобнее не изменять существующий своп-файл, а добавить ещё один.

Например, создадим дополнительный файл /swapfile2 размером 8 GiB:

sudo dd if=/dev/zero of=/swapfile2 bs=1M count=8192 status=progress

Установим права:

sudo chmod 600 /swapfile2

Разметим его как своп:

sudo mkswap /swapfile2

Включим:

sudo swapon /swapfile2

Проверка:

swapon --show

Пример вывода:

NAME       TYPE SIZE USED PRIO
/swapfile  file 17.1G   0B   -2
/swapfile2 file    8G   0B   -3

Чтобы второй своп-файл подключался после перезагрузки, добавьте его в /etc/fstab:

echo '/swapfile2 none swap sw 0 0' | sudo tee -a /etc/fstab

Если нужно задать приоритет:

/swapfile2 none swap sw,pri=50 0 0

Чем выше значение приоритета, тем раньше система будет использовать этот своп по сравнению с другими.


10. Какой размер своп-файла выбрать

Размер своп-файла зависит от объёма оперативной памяти, задач системы и необходимости использовать гибернацию.

Если гибернация не нужна

Ориентировочные рекомендации:

RAM Рекомендуемый размер своп-файла
до 2 GiB примерно 2× объёма RAM или больше
2–8 GiB примерно равный объёму RAM
8–16 GiB 4–8 GiB
16–64 GiB 4–16 GiB, в зависимости от нагрузки
больше 64 GiB обычно небольшой своп или без него, если нет специальных требований

Например, для сервера с большим количеством RAM своп может быть небольшим. Для рабочего ноутбука с 16 GiB RAM лучше выделить больше своп-пространства.


Если нужна гибернация

Для гибернации своп должен быть достаточно большим, чтобы сохранить содержимое оперативной памяти на диск. Обычно рекомендуется делать своп не меньше объёма RAM, а лучше с небольшим запасом.

RAM Примерный размер своп-файла для гибернации
8 GiB 8–10 GiB
16 GiB 16–18 GiB
32 GiB 32–36 GiB

Ваш размер:

18400030736 bytes ≈ 17.14 GiB

хорошо подходит для системы с примерно 16 GiB оперативной памяти, если планируется гибернация. Если же гибернация не используется, такой объём может быть избыточным, особенно если на диске мало свободного места.


На этом первая часть завершается. В ней рассмотрены базовые вопросы: что означает объём 18400030736, как подготовить систему, как создать своп-файл через fallocate и dd, как настроить права, как включить своп, как сделать его постоянным и как выбрать подходящий размер.


Продолжение в Части 2


Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта