Задать вопрос
@Drovosek01

Как в Linux сделать swap файл с динамическим размером?

В Windows за своп отвечает файл pagefile.sys и его можно настроить и так, чтобы он набирал вес по мере надобности не более определенного размера и так, чтобы он занимал строго определенный размер постоянно.

В Linux я не силен и в тех гайдах которые читал, либо заранее создавали под swap раздел строго заданного размера, либо создавали файл заданного размера и назначали его свопом.

Как в Linux создать swap-файл, чтобы он увеличивал и уменьшал свой размер в зависимости от того, нужно ли данные из ОЗУ перемещать в своп или не нужно?
  • Вопрос задан
  • 484 просмотра
Подписаться 1 Средний 5 комментариев
Пригласить эксперта
Ответы на вопрос 3
@AVKor
Как в Linux создать swap-файл с динамическим размером?

Никак.

Более того, это не нужно, поскольку надо пользоваться разделом, а не файлом (в раздел пишется напрямую, а в файл - поверх ФС, что менее эффективно).
Ответ написан
@rPman
Динамического swap файла в linux нет (изначально свопом мог быть только раздел фиксированного размера но потом допилили размещение на файловых системах, если они это поддерживают, с оговорками) но возможно динамические подключение и отключение новых swap файлов или устройств с помощью консольной команды swapon и swapoff, перед подключением содержимое файла должно быть 'отформатировано' mkswap, эта исключает ошибочное указание нормального файла.

Swap может быть размещен как файл на популярных файловых системах типа ext4 или сетевом nfs, возможно использование iscsi устройств, в файле не должно быть 'дырок' (sparce files), т.е. не получится выделить по быстрому место с помощью dd seek, (на чем то типа fat получится), а так же должно быть выключено сжатие и cow (смотреть chattr) если используется к примеру btrfs
Ответ написан
Комментировать
sotvm
@sotvm
Умный поймёт, а дураку и так всё равно.
если у тебя не старый компутатор и есть больше 4гб,и не страдаешь режимом в сон
то swap тебе не нужен
хоть некоторые-кривые приложения/проги его требуют
у меня 8 оперативки+ 1гб /swap в в файле
в конфигах sysctl
kernel.sysrq = 1
vm.swappiness = 15
vm.vfs_cache_pressure = 50
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы