diff options
Diffstat (limited to 'man2/swapon.2')
-rw-r--r-- | man2/swapon.2 | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/man2/swapon.2 b/man2/swapon.2 new file mode 100644 index 000000000..06f64fd08 --- /dev/null +++ b/man2/swapon.2 @@ -0,0 +1,133 @@ +.\" Hey Emacs! This file is -*- nroff -*- source. +.\" +.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 +.\" +.\" Permission is granted to make and distribute verbatim copies of this +.\" manual provided the copyright notice and this permission notice are +.\" preserved on all copies. +.\" +.\" Permission is granted to copy and distribute modified versions of this +.\" manual under the conditions for verbatim copying, provided that the +.\" entire resulting derived work is distributed under the terms of a +.\" permission notice identical to this one. +.\" +.\" Since the Linux kernel and libraries are constantly changing, this +.\" manual page may be incorrect or out-of-date. The author(s) assume no +.\" responsibility for errors or omissions, or for damages resulting from +.\" the use of the information contained herein. The author(s) may not +.\" have taken the same level of care in the production of this manual, +.\" which is licensed free of charge, as they might when working +.\" professionally. +.\" +.\" Formatted or processed versions of this manual, if unaccompanied by +.\" the source, must acknowledge the copyright and authors of this work. +.\" +.\" Modified by Michael Haardt <michael@moria.de> +.\" Modified 1993-07-24 by Rik Faith <faith@cs.unc.edu> +.\" Modified 1995-07-22 by Michael Chastain <mec@duracef.shout.net> +.\" Modified 1995-07-23 by aeb +.\" Modified 1996-10-22 by Eric S. Raymond <esr@thyrsus.com> +.\" Modified 1998-09-08 by aeb +.\" Modified 2004-06-17 by Michael Kerrisk <mtk16@ext.canterbury.ac.nz> +.\" Modified 2004-10-10 by aeb +.\" +.TH SWAPON 2 2004-10-10 "Linux 2.6.7" "Linux Programmer's Manual" +.SH NAME +swapon, swapoff \- start/stop swapping to file/device +.SH SYNOPSIS +.B #include <unistd.h> +.br +.B #include <asm/page.h> /* to find PAGE_SIZE */ +.br +.B #include <sys/swap.h> +.sp +.BI "int swapon(const char *" path ", int " swapflags ); +.br +.BI "int swapoff(const char *" path ); +.SH DESCRIPTION +.B swapon +sets the swap area to the file or block device specified by +.IR path . +.B swapoff +stops swapping to the file or block device specified by +.IR path . +.PP +.B swapon +takes a +.I swapflags +argument. +If +.I swapflags +has the +.I SWAP_FLAG_PREFER +bit turned on, the new swap area will have a higher priority than default. +The priority is encoded as: +.br +.sp +.I " (prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK" +.br +.PP +These functions may only be used by a privileged process (one having the +.B CAP_SYS_ADMIN +capability). +.SH PRIORITY +Each swap area has a priority, either high or low. +The default priority is low. +Within the low-priority areas, +newer areas are even lower priority than older areas. +.PP +All priorities set with +.I swapflags +are high-priority, higher than default. +They may have any non-negative value chosen by the caller. +Higher numbers mean higher priority. +.PP +Swap pages are allocated from areas in priority order, +highest priority first. +For areas with different priorities, +a higher-priority area is exhausted before using a lower-priority area. +If two or more areas have the same priority, +and it is the highest priority available, +pages are allocated on a round-robin basis between them. +.PP +As of Linux 1.3.6, the kernel usually follows these rules, +but there are exceptions. +.SH "RETURN VALUE" +On success, zero is returned. On error, \-1 is returned, and +.I errno +is set appropriately. +.SH ERRORS +.TP +.B EINVAL +The file +.I path +exists, but refers neither to a regular file nor to a block device. +.TP +.B ENFILE +The system limit on the total number of open files has been reached. +.TP +.B ENOENT +The file +.I path +does not exist. +.TP +.B ENOMEM +The system has insufficient memory to start swapping. +.TP +.B EPERM +The caller does not have the +.B CAP_SYS_ADMIN +capability, or all +.B MAX_SWAPFILES +(earlier 8; 32 since Linux 2.4.10) are in use. +.SH "CONFORMING TO" +These functions are Linux specific and should not be used in programs +intended to be portable. +The second `swapflags' argument was introduced in Linux 1.3.2. +.SH NOTES +The partition or path must be prepared with +.BR mkswap (8). +.SH "SEE ALSO" +.BR mkswap (8), +.BR swapoff (8), +.BR swapon (8) |