SWAPON(8)

НАЗВА
swapon, swapoff - вимикання пристроїв і файлів для поділу на сторінки і резервування

КОРОТКИЙ ОПИС

swapon [параметри] [спеціальний-файл...]

swapoff [-va] [спеціальний-файл...]

ОПИС

swapon використовують для визначення пристроїв, на яких відбуватиметься поділ на сторінки та робота із резервною пам’яттю.

Використаний пристрій або файл задає параметр спеціальний-файл. Його може бути задано у формі -L мітка або -U uuid для визначення пристрою за міткою або UUID.

Виклик swapon, зазвичай, відбувається зі скриптів завантаження системи, які роблять усі пристрої резервної пам’яті доступними, тому дії з поділу на сторінки і роботи із резервною пам’яттю на диску розподіляються між декількома пристроями і файлами.

swapoff вимикає резервну пам’ять на вказаних пристроях і у файлах. Якщо задано прапорець -a, резервну пам’ять на диску вимкнено для усіх відомих пристроїв і файлів резервної пам’яті (які буде знайдено у /proc/swaps або /etc/fstab).

ПАРАМЕТРИ

-a, --all
    Усі пристрої, які позначено як «swap» в /etc/fstab, буде зроблено доступними, окрім тих, які вказано із параметром «noauto». Пристрої, які вже використовуються для резервної пам’яті, буде без повідомлень пропущено.

-T, --fstab шлях
    Вказує альтернативний файл fstab для забезпечення сумісності із mount(8). Якщо шлях є каталогом, файли у каталозі буде упорядковано strverscmp(3); файли, назви яких починаються з «.» або не мають суфікса .fstab, буде проігноровано. Параметр можна вказати декілька разів. Цей параметр, здебільшого, було створено для скриптів initramfs або chroot, де вказано додаткові налаштування поза стандартними налаштуваннями системи.

-d, --discard[=правила]
    Увімкнути відкидання резервної пам’яті на диску, якщо підтримку дії з відкидання або обрізання передбачено для базового пристрою резервної пам’яті. Це може удосконалити швидкодію на деяких пристроях SSD, але часто цього не відбувається. За допомогою цього параметра можна вибрати між двома доступними правилами відкидання резервної пам’яті на диску:

    --discard=once
        для виконання одноразової дії з відкидання для усієї області резервної пам’яті на диску при виконанні swapon; або

    --discard=pages
        для асинхронного відкидання вивільнених сторінок резервної пам’яті на диску до того, як вони стануть доступними для повторного використання.

    Якщо не вибрано жодних правил, типовою поведінкою буде вмикання обох типів відкидання. Для вмикання прапорців відкидання можна також скористатися параметрами монтування /etc/fstab discard, discard=once або discard=pages.

-e, --ifexists
    Без повідомлень пропускати пристрої, яких не існує. Також для пропускання пристроїв, яких не існує, можна скористатися параметром монтування nofail в /etc/fstab.

-f, --fixpgsz
    Повторно ініціалізувати (виконати mkswap) простір резервної пам’яті, якщо розмір його сторінки не відповідає розміру у поточному запущеному ядрі системи. mkswap(8) ініціалізує увесь пристрій і не перевіряє пристрій на наявність помилкових блоків.

-L мітка
    Використати розділ, який має вказану мітку. (Для цього потрібен доступу до /proc/partitions.)

-o, --options параметри
    Вказати параметри резервної пам’яті на диску за допомогою сумісного з fstab рядка відокремлених комами значень. Приклад:

    swapon -o pri=1,discard=pages,nofail /dev/sda2

    Рядок параметри буде оброблено останнім, він має вищий пріоритет над усіма іншими параметрами рядка команди.

-p, --priority пріоритетність
    Вказати пріоритетність пристрою резервної пам’яті. пріоритетність є значенням від -1 до 32767. Більші значення означають вищу пріоритетність. Див. swapon(2), щоб ознайомитися із усіма описами пріоритетностей резервної пам’яті на диску. Додайте pri=значення до поля параметрів /etc/fstab, щоб скористатися у поєднанні із swapon -a. Якщо пріоритетності не визначено, типовим значенням для ядра Linux буде від’ємне число.

-s, --summary
    Вивести резюме щодо використання резервної пам’яті на диску за пристроями. Еквівалент cat /proc/swaps. Цей формат виведення даних є ЗАСТАРІЛИМ, його замінено на параметр --show, який забезпечує краще керування виведенням даних.

--show[=стовпчик...]
    Вивести придатну до визначення таблицю областей резервної пам’яті на диску. Див. виведення команди з параметром --help, щоб ознайомитися зі списком доступних стовпчиків.

--output-all
    Вивести список усіх доступних стовпчиків.

--noheadings
    Не виводити заголовки при виведенні на основі --show.

--raw
    Виводити дані --show без вирівнювання стовпчиків таблиці.

--bytes
    Показати розмір області свопінгу (резервної пам’яті) у байтах у виведенні --show замість зручних для читання одиниць.

-U uuid
    Використати розділ, який має вказаний uuid.

-v, --verbose
    Режим докладних повідомлень.

-h, --help
    Вивести текст довідки і завершити роботу.

-V, --version
    Показати дані щодо версії і завершити роботу.

СТАН ВИХОДУ

swapoff має такі значення стану виходу, починаючи з версії 2.36:

0
    успіх

2
    у системі недостатньо пам’яті, щоб припинити використання резервної пам’яті на диску (OOM)

4
    системний виклик B<swapoff>(2) зазнав невдачі з іншої причини

8
    не пов’язана із системним викликом swapoff(2) помилка (не вистачає пам’яті...)

16
    помилка використання або синтаксична помилка

32
    усі виклики swapoff завершилися помилками при використанні --all

64
    деякі з викликів swapoff було здійснено успішно при використанні з --all

Команда swapoff --all повертає 0 (усі успішно), 32 (усі невдало) або 64 (деякі невдало, деякі успішно).

+ У старих версіях до 2.36 не мали документованих стані виходу, 0 означає «успіх» в усіх версіях.

СЕРЕДОВИЩЕ

LIBMOUNT_DEBUG=all
    вмикає показ діагностичних повідомлень libmount.

LIBBLKID_DEBUG=all
    вмикає показ діагностичних повідомлень libblkid.

ФАЙЛИ

/dev/sd??
    стандартні пристрої поділу на сторінки

/etc/fstab
    таблиця опису файлової системи символами ASCII

ЗАУВАЖЕННЯ

  Файли з дірками

Реалізація файла резервної пам’яті у ядрі передбачає можливість запису до файла безпосередньо, без допомоги з боку файлової системи. Це є проблемою для файлів із дірками або файлів із копіюванням при запису у файлових системах, які подібні до Btrfs.

Команди like cp(1) і truncate(1) створюють файли з дірками. Ці файли буде відкинуто swapon.

Попередньо розміщені файли, які створено за допомогою fallocate(1), може бути також оброблено як файли із дірками, залежно від файлової системи. Підтримку попереднього розміщення файлів резервної пам’яті на диску у XFS передбачено, починаючи з Linux 4.18.

Найпридатнішим для портування рішенням зі створення файла резервної пам’яті є використання dd(1) і /dev/zero.

  Btrfs

Підтримку файлів резервної пам’яті на Btrfs реалізовано, починаючи з Linux 5.0 для файлів із атрибутом nocow. Див. сторінку підручника щодо btrfs(5), щоб дізнатися більше.

Since version 2.41, the command mkswap --file can create a new swap file with the nocow attribute.

  NFS

Використання резервної пам’яті із NFS може не працювати.

  Призупинення

swapon автоматично виявляє і перезаписує підпис простору резервної пам’яті із застарілими даними призупинення роботи програмного забезпечення (наприклад, S1SUSPEND, S2SUSPEND, ...). Проблема полягає у тому, що якщо цього не робити, ми отримаємо пошкодження даних під час наступної спроби виходу зі стану призупинення.

ЖУРНАЛ

Команда swapon з’явилася у 4.0BSD.

ТАКОЖ ПЕРЕГЛЯНЬТЕ

swapoff(2), swapon(2), fstab(5), init(8), fallocate(1), mkswap(8), mount(8), rc(8)

ЯК НАДІСЛАТИ ЗВІТ ПРО ВАДИ

Для звітування щодо вад скористайтеся

ДОСТУП ДО ПРОГРАМИ

Програма swapon є частиною пакунка util-linux, який можна отримати з