Provided by: manpages-ru-dev_4.18.1-1_all bug

ИМЯ

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

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <sys/swap.h>

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

ОПИСАНИЕ

       swapon()  включает  использование  файла  или  блочного  устройства,  указанного в path, в
       качестве подкачки данных. swapoff() выключает использование файла или блочного устройства,
       указанного в path, в качестве подкачки данных.

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

           (prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK

       Если в аргументе swapflags вызова swapon() указан флаг SWAP_FLAG_DISCARD, то освобождаемые
       страницы подкачки будут исключены (discard) до того как они задействуются  повторно  (если
       устройство  подкачки  поддерживает  операцию  исключения  или обрезки). Это может улучшить
       производительность на некоторых твердотельных накопителях,  но,  чаще  всего,  нет.  Также
       смотрите ЗАМЕЧАНИЯ.

       Эти  функции  могут  использоваться  только  привилегированным  процессом  (имеющим мандат
       CAP_SYS_ADMIN).

   Приоритет
       Каждое пространство подкачки имеет приоритет, высокий или низкий.  По  умолчанию  задается
       низкий  приоритет.  Внутри  пространств с низким приоритетом, новые пространства имеют ещё
       меньший приоритет, чем старые.

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

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

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

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       On  success, zero is returned.  On error, -1 is returned, and errno is set to indicate the
       error.

ОШИБКИ

       EBUSY  (для swapon()) Указанный path уже используется в качестве пространства подкачки.

       EINVAL Файл path существует, но не ссылается на обычный файл или блочное устройство;

       EINVAL (swapon())  Указанный  путь  не  содержит   правильной   сигнатуры   подкачки   или
              располагается в файловой системе, работающей в памяти, например, tmpfs(5).

       EINVAL (начиная с Linux 3.4)
              (swapon())  An invalid flag value was specified in swapflags.

       EINVAL (swapoff()) В настоящее время path не является областью подкачки.

       ENFILE Достигнуто максимальное количество открытых файлов в системе.

       ENOENT Файл path не существует.

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

       EPERM  Вызывающий   не   имеет   мандата  CAP_SYS_ADMIN.  Или  превышен  лимит  количества
              используемых пространств подкачки; см. ЗАМЕЧАНИЯ далее.

СТАНДАРТЫ

       Эти функции предназначены  только  для  работы  в  Linux  и  не  должны  использоваться  в
       переносимых программах. Второй параметр swapflags впервые появился в Linux 1.3.2.

ЗАМЕЧАНИЯ

       Раздел или путь должны быть подготовлены к подкачке при помощи mkswap(8).

       There  is  an  upper  limit  on  the number of swap files that may be used, defined by the
       kernel constant MAX_SWAPFILES.  Before Linux 2.4.10, MAX_SWAPFILES has the value 8;  since
       Linux 2.4.10, it has the value 32.  Since Linux 2.6.18, the limit is decreased by 2 (thus:
       30)  if the kernel is built with the CONFIG_MIGRATION  option  (which  reserves  two  swap
       table  entries  for the page migration features of mbind(2)  and migrate_pages(2)).  Since
       Linux 2.6.32, the limit is further decreased  by  1  if  the  kernel  is  built  with  the
       CONFIG_MEMORY_FAILURE  option.   Since  Linux 5.14, the limit is further decreased by 4 if
       the kernel is built with the CONFIG_DEVICE_PRIVATE option.

       Discard of swap pages was introduced  in  Linux  2.6.29,  then  made  conditional  on  the
       SWAP_FLAG_DISCARD  flag  in  Linux  2.6.36, which still discards the entire swap area when
       swapon()  is called, even if that flag bit is not set.

СМ. ТАКЖЕ

       mkswap(8), swapoff(8), swapon(8)

ПЕРЕВОД

       Русский   перевод   этой   страницы   руководства    был    сделан    Alexander    Golubev
       <fatzer2@gmail.com>,   Azamat   Hackimov  <azamat.hackimov@gmail.com>,  Hotellook,  Nikita
       <zxcvbnm3230@mail.ru>,       Spiros       Georgaras       <sng@hellug.gr>,       Vladislav
       <ivladislavefimov@gmail.com>,    Yuri    Kozlov   <yuray@komyakino.ru>   и   Иван   Павлов
       <pavia00@gmail.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе  этой  страницы  руководства,  пожалуйста,  отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.