Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SWAPON(2)		       System Calls Manual		       SWAPON(2)

NAME
     swapon, swapoff -- control devices for interleaved paging/swapping

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <vm/vm_param.h>
     #include <vm/swap_pager.h>

     #include <unistd.h>

     int
     swapon(const char *special);

     int
     swapoff(const char *special, u_int flags);

DESCRIPTION
     The  swapon()  system  call makes the block device special available to the
     system for allocation for paging and swapping.  The  names  of  potentially
     available	devices are known to the system and defined at system configura-
     tion time.  The size of the swap area on special is calculated at the  time
     the device is first made available for swapping.

     The swapoff() system call disables paging and swapping on the given device.
     All associated swap metadata are deallocated, and the device is made avail-
     able for other purposes.

     The  special  argument  points  to  the name of the device or file used for
     swapping.	The flags argument takes the following flags:

     SWAPOFF_FORCE  Overrides a very conservative check that prevents swapoff if
		    the total amount of free memory and remaining  swap  devices
		    space might be unsufficient for the system to continue oper-
		    ating.

RETURN VALUES
     If an error has occurred, a value of -1 is returned and errno is set to in-
     dicate the error.

ERRORS
     Both swapon() and swapoff() can fail if:

     [ENOTDIR]		A component of the path prefix is not a directory.

     [ENAMETOOLONG]	A component of a pathname exceeded 255 characters, or an
			entire path name exceeded 1023 characters.

     [ENOENT]		The named device does not exist.

     [EACCES]		Search	permission is denied for a component of the path
			prefix.

     [ELOOP]		Too many symbolic links were encountered in  translating
			the pathname.

     [EPERM]		The caller is not the super-user.

     [EFAULT]		The  special argument points outside the process's allo-
			cated address space.

     Additionally, swapon() can fail for the following reasons:

     [ENOTBLK]		The special argument is not a block device.

     [EBUSY]		The device specified by special has  already  been  made
			available for swapping

     [ENXIO]		The major device number of special is out of range (this
			indicates  no  device  driver  exists for the associated
			hardware).

     [EIO]		An I/O error occurred while opening the swap device.

     [EINTEGRITY]	Corrupted data was detected while reading from the  file
			system to open the swap device.

     Lastly, swapoff() can fail if:

     [EINVAL]		The system is not currently swapping to special.

     [ENOMEM]		Not enough virtual memory is available to safely disable
			paging and swapping to the given device.

SEE ALSO
     config(8), swapon(8), sysctl(8)

HISTORY
     The swapon() system call appeared in 4.0BSD.  The swapoff() system call ap-
     peared in FreeBSD 5.1.

FreeBSD ports 15.quarterly	December 8, 2021		       SWAPON(2)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=swapon&sektion=2&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help