1.\" Copyright (c) 1980, 1991, 1993 2.\" The Regents of the University of California. All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 3. Neither the name of the University nor the names of its contributors 13.\" may be used to endorse or promote products derived from this software 14.\" without specific prior written permission. 15.\" 16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26.\" SUCH DAMAGE. 27.\" 28.Dd December 8, 2021 29.Dt SWAPON 2 30.Os 31.Sh NAME 32.Nm swapon , swapoff 33.Nd control devices for interleaved paging/swapping 34.Sh LIBRARY 35.Lb libc 36.Sh SYNOPSIS 37.It vm/vm_param.h 38.It vm/swap_pager.h 39.In unistd.h 40.Ft int 41.Fn swapon "const char *special" 42.Ft int 43.Fn swapoff "const char *special" "u_int flags" 44.Sh DESCRIPTION 45The 46.Fn swapon 47system call 48makes the block device 49.Fa special 50available to the system for 51allocation for paging and swapping. 52The names of potentially 53available devices are known to the system and defined at system 54configuration time. 55The size of the swap area on 56.Fa special 57is calculated at the time the device is first made available 58for swapping. 59.Pp 60The 61.Fn swapoff 62system call disables paging and swapping on the given device. 63All associated swap metadata are deallocated, and the device 64is made available for other purposes. 65.Pp 66The 67.Fa special 68argument points to the name of the device or file used for swapping. 69.The 70.Va flags 71argument takes the following flags: 72.Bl -tag -width SWAPOFF_FORCE 73.It Dv SWAPOFF_FORCE 74Overrides a very conservative check that prevents swapoff 75if the total amount of free memory and remaining swap 76devices space might be unsufficient for the system to continue 77operating. 78.El 79.Sh RETURN VALUES 80If an error has occurred, a value of -1 is returned and 81.Va errno 82is set to indicate the error. 83.Sh ERRORS 84Both 85.Fn swapon 86and 87.Fn swapoff 88can fail if: 89.Bl -tag -width Er 90.It Bq Er ENOTDIR 91A component of the path prefix is not a directory. 92.It Bq Er ENAMETOOLONG 93A component of a pathname exceeded 255 characters, 94or an entire path name exceeded 1023 characters. 95.It Bq Er ENOENT 96The named device does not exist. 97.It Bq Er EACCES 98Search permission is denied for a component of the path prefix. 99.It Bq Er ELOOP 100Too many symbolic links were encountered in translating the pathname. 101.It Bq Er EPERM 102The caller is not the super-user. 103.It Bq Er EFAULT 104The 105.Fa special 106argument 107points outside the process's allocated address space. 108.El 109.Pp 110Additionally, 111.Fn swapon 112can fail for the following reasons: 113.Bl -tag -width Er 114.It Bq Er ENOTBLK 115The 116.Fa special 117argument 118is not a block device. 119.It Bq Er EBUSY 120The device specified by 121.Fa special 122has already 123been made available for swapping 124.It Bq Er ENXIO 125The major device number of 126.Fa special 127is out of range (this indicates no device driver exists 128for the associated hardware). 129.It Bq Er EIO 130An I/O error occurred while opening the swap device. 131.It Bq Er EINTEGRITY 132Corrupted data was detected while reading from the file system to open the 133swap device. 134.El 135.Pp 136Lastly, 137.Fn swapoff 138can fail if: 139.Bl -tag -width Er 140.It Bq Er EINVAL 141The system is not currently swapping to 142.Fa special . 143.It Bq Er ENOMEM 144Not enough virtual memory is available to safely disable 145paging and swapping to the given device. 146.El 147.Sh SEE ALSO 148.Xr config 8 , 149.Xr swapon 8 , 150.Xr sysctl 8 151.Sh HISTORY 152The 153.Fn swapon 154system call appeared in 155.Bx 4.0 . 156The 157.Fn swapoff 158system call appeared in 159.Fx 5.1 . 160