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

НАИМЕНОВАНИЕ

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

БИБЛИОТЕКА

       Стандартная библиотека языка C (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 работа ядра обычно следует этим правилам, но существуют исключения.

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

       При успешном выполнении возвращается 0. При ошибке возвращается -1, а в errno содержится код ошибки.

ОШИБКИ

       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.

ИСТОРИЯ

       The swapflags argument was introduced in 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), since Linux 5.19, the limit is decreased
       by 3 (thus: 29)  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.  Since Linux 5.19, the limit is  further  decreased  by  1  if  the  kernel  is  built  with  the
       CONFIG_PTE_MARKER 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> и Kirill Rekhov <krekhov.dev@gmail.com>

       Этот  перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html  версии  3  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам)  по  его(их)  адресу(ам)  электронной  почты  или  по   адресу   списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                        swapon(2)