Автор Тема: Swapfile - файл подкачки  (Прочитано 17190 раз)

Оффлайн ivm

  • Ветеран
  • *****
  • Сообщений: 3069
  • Что бы ни случилось, всё будет хорошо!
Swapfile - файл подкачки
« : 05 Декабря 2017, 18:16:18 »
Понадобился своп файл. Но в 16.04, где он не создаётся автоматически.
Как сделал.
Про текущий своп можно узнать командой: swapon -sПокажет подробности и ничего лишнего.
С файлом всё просто - создаем файл : sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 тут 1М - размер блока; 2048 -количество блоков, т. е. размер файла будет bs*count - подбираем, сколько надо.
Даем файлу правильные права sudo chmod 600 /swapfileПревращаем файл в своп: sudo mkswap /swapfileПодключаем: sudo swapon /swapfileПроверям: swapon -sЧтобы автоматом включался при перезагрузке, добавляем в fstab строку: /swapfile swap swap defaults 0 0Посмотрел его использование командой htopСвоп отобразился.

Оффлайн ivm

  • Ветеран
  • *****
  • Сообщений: 3069
  • Что бы ни случилось, всё будет хорошо!
Re: Swapfile - файл подкачки
« Ответ #1 : 03 Марта 2018, 15:47:34 »
Кроме привычных вариантов использования пространства подкачки: swap-раздел и swap-файл есть ещё один вариант, который также имеет право на жизнь. это менеджер динамического управления пространством подкачки swapspace. Его задача заключается в использовании дискового пространства в качестве пространства подкачки, когда это необходимо, и освобождении места, когда оно больше не нужно.
Устанавливается из официального репозитория Ubuntu sudo apt install swapspaceПосле установки он сразу же запустится и в системе появится такой процесс:
Цитата: пример
1 1011 ?        Ss     0:00 /usr/sbin/swapspace -d -p
Пользоваться менеджером пространства подкачки swapspace очень просто. После запуска он работает самостоятельно, автоматически выделяя при необходимости дисковое пространство для сохранения страниц памяти из оперативной памяти. Если быть более точным, то он создает своп-файлы на диске при необходимости и динамически их подключает. Вот как выглядит вывод программы swapon при использовании менеджера пространства подкачки:
Цитировать
# swapon -s
Filename                   Type            Size    Used    Priority
/var/lib/swapspace/1       file            71192   63716   -1
/var/lib/swapspace/2       file            46856   28296   -2
/var/lib/swapspace/3       file            86244   0       -3
То есть, как видите, программа делает то же самое, что можно сделать руками, но делает она это автоматически. Такой способ несколько медленнее, чем своп-раздел, но он хорош тем, что не нужно заранее создавать раздел или своп-файл руками.
Для настройки менеджера редактируем файл /etc/swapspace.conf. В нём необходимо раскомментировать несколько строчек и файл после этого должен выглядеть примерно так:
Спойлер
# Swap path: location where swapspace may create and delete swapfiles.  For
# security reasons this directory must be accessible to root and to root only.
swappath="/var/lib/swapspace"
 
# Lower free-space threshold: if the percentage of free space drops below this
# number, additional swapspace is allocated
lower_freelimit=20
 
# Upper free-space threshold: if the percentage of free space exceeds this
# number, swapspace will attempt to free up swapspace
upper_freelimit=60
 
# Percentage of free space swapspace should aim for when adding swapspace.  This
# should fall somewhere between lower_freelimit and upper_freelimit.
freetarget=30
 
# Smallest allowed size for individual swapfiles
min_swapsize=4m
 
# Greatest allowed size for individual swapfiles
max_swapsize=2t
 
# Duration (roughly in seconds) of the moratorium on swap allocation that is
# instated if disk space runs out, or the cooldown time after a new swapfile is
# successfully allocated before swapspace will consider deallocating swap space
# again.  The default cooldown period is about 10 minutes.
cooldown=600
После этого надо рестартовать сервис: service swapspace restartИ теперь можно приступать к запуску программ, для которых нужны большие объёмы оперативной памяти.
Особенности работы менеджера swapspace.
Для его работы необходимо наличие свободного места на диске, чтобы можно было создавать файлы подкачки. Это, естественно, возможно только в тех системах, где создание файла подкачки и включение свопа разрешено, поэтому скорее всего этот вариант не будет работать на недорогом хостинге на базе OpenVZ, на таких хостингах обычно отключают возможность использования свопа. Поэтому пробуйте, возможно этот вариант вам подойдет.
Описание swapspace на сайте MNorin.com.

Оффлайн vita

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4797
  • Да будет свет!
Re: Swapfile - файл подкачки
« Ответ #2 : 21 Ноября 2023, 13:32:48 »
Тема оказалась очень актуальной в настоящее время, поскольку с Ubuntu 22.04 установщик Ubiquity перестал автоматически создавать swapfile. На "слабом" железе появились жуткие тормоза вплоть до полного зависания. Ситуация улучшилась ручным созданием файла по описанным ранее рекомендациям. Проверив оба варианта, делаю вывод, что установка swapspace более эффективна. Возможно это и стало причиной отказа от автоматического создания swapfile в процессе установки системы.
Делай с нами, делай как мы, делай лучше нас!

Оффлайн vita

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4797
  • Да будет свет!
Re: Swapfile - файл подкачки
« Ответ #3 : 12 Января 2024, 23:55:30 »
Нетбук более чем десятилетней давности с ограничением памяти в 2 ГБ работает без зависаний в тестируемой Ubuntu 24.04 c Mate 1.26.2 благодаря созданию Swapspace.

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