Документация по LinuxLinuxDoc.Ru 🔍

swapon, swapoff - разрешает/запрещает подкачку данных в файл/устройство

НАЗВАНИЕ
swapon, swapoff - разрешает/запрещает подкачку данных в
файл/устройство

СИНТАКСИС
#include
#include /* to find PAGE_SIZE */
#include

int swapon(const char *path, int swapflags);
int swapoff(const char *path);

ОПИСАНИЕ
swapon устанавливает область файла или блочного устройства
для подкачки данных и присваивает ей имя path. swapoff
прекращает подкачку данных в файл или блочное устройство
path.

У функции swapon есть параметр swapflags. Если в
swapflags установлен бит SWAP_FLAG_PREFER, то новая
область подкачки будет иметь приоритет, больший, чем
используемый по умолчанию. Приоритет рассчитывается
следующим образом:

(prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK

Эти функции могут задаваться только суперпользователем.

ПРИОРИТЕТ
Каждая область подкачки имеет свой приоритет, высокий ли
низкий. По умолчанию задается низкий приоритет. Новые
области имеют еще меньший приоритет, чем старые.

Все приоритеты, установленные с помощью swapflags,
являются выше используемого по умолчанию. Приоритет может
быть любым неотрицательным числом (что определяется
вызывающей программой). Большее число соответствует
большему приоритету.

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

В Linux 1.3.6 работа ядра обычно следует этим правилам, но
существуют исключения.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При удачном завершении возвращается 0. При ошибке
возвращается -1, а переменной errno присваивается номер
ошибки.

КОДЫ ОШИБОК

Ошибки, которые могут возникнуть, перечислены ниже; но
учтите: если параметр path задан неправильно, Вы не
застрахованы от возникновения и других ошибок.

EPERM Пользователь не является суперпользователем, или
превышен лимит количества областей подкачки
MAX_SWAPFILES (8 по умолчанию в Linux 1.3.6) уже
используются.

EINVAL path существует, но это не файл и не блочное
устройство.

ENOENT path не существует.

ENOMEM не хватает памяти ядра для начала процесса
подкачки.

СООТВЕТСТВИЕ СТАНДАРТАМ
Эта функция предназначена только для работы в Linux.
Второй параметр `swapflags' впервые появился в Linux
1.3.2.

ЗАМЕЧАНИЯ
Раздел или файл должны быть подготовлены к подкачке при
помощи mkswap(8).
Читать новости Linux в Telegram
Linux - swapon, swapoff - разрешает/запрещает подкачку данных в файл/устройство
Мы в соцсетях ✉