> Linux Reviews > man >

swapon

swapon


  1. swapon.2.man


1. swapon.2.man

Manpage of SWAPON

SWAPON

Section: Руководство программиста Linux (2)
Updated: 2010-06-15
Index Return to Main Contents
 

ИМЯ

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

ОБЗОР

#include <unistd.h>
#include <asm/page.h> /* для PAGE_SIZE */
#include <sys/swap.h>

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

ОПИСАНИЕ

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

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

(prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK

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

Приоритет

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

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

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

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

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

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

ОШИБКИ

EBUSY
(для swapon()) Указанный path уже используется в качестве пространства подкачки.
EINVAL
Файл path существует, но не является обычным файлом или блочным устройством; или, для swapon(), указанный путь не имеет правильной сигнатуры подкачки или располагается в файловой системе, работающей в памяти, например, tmpfs; или, для swapoff(), path в данный момент не является пространством подкачки.
ENFILE
Достигнуто максимальное количество открытых файлов в системе.
ENOENT
Файл path не существует.
ENOMEM
Не хватает памяти ядра для запуска процесса подкачки.
EPERM
Вызывающий не имеет мандата CAP_SYS_ADMIN. Или превышен лимит количества используемых пространств подкачки; см. ЗАМЕЧАНИЯ далее.
 

СООТВЕТСТВИЕ СТАНДАРТАМ

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

ЗАМЕЧАНИЯ

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

Есть верхний предел на количество используемых файлов подкачки, он определяется константой ядра MAX_SWAPFILES. До ядра версии 2.4.10 значение MAX_SWAPFILES было равно 8; начиная с ядра 2.4.10, значение стало 32. Начиная с ядра 2.6.18, предел уменьшается на 2 (то есть стало 30), если ядро собирается с параметром CONFIG_MIGRATION (который резервирует 2 элемента таблицы подкачки для возможности переноса страниц mbind(2) и migrate_pages(2)). Начиная с ядра 2.6.32, предел ещё сокращается на 1, если ядро собирается с параметром CONFIG_MEMORY_FAILURE.  

СМОТРИТЕ ТАКЖЕ

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


 

Index

ИМЯ
ОБЗОР
ОПИСАНИЕ
Приоритет
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
ОШИБКИ
СООТВЕТСТВИЕ СТАНДАРТАМ
ЗАМЕЧАНИЯ
СМОТРИТЕ ТАКЖЕ

This document was created by man2html using the manual pages.
Time: 17:42:02 GMT, May 11, 2012

SVENSKA - SVENSKA - SVENSKA - SVENSKA - SVENSKA - ja - nl - pl