swapon, swapoff - enable/disable devices and files for paging and swapping
swapon [options] [specialfile...]
swapoff [-va] [specialfile...]
swapon is used to specify devices on which paging and swapping are to take place.
The device or file used is given by the specialfile parameter. It may be of the form -L label or -U uuid to indicate a device by label or uuid.
Calls to swapon normally occur in the system boot scripts making all swap devices available, so that the paging and swapping activity is interleaved across several devices and files.
swapoff disables swapping on the specified devices and files. When the -a flag is given, swapping is disabled on all known swap devices and files (as found in /proc/swaps or /etc/fstab).
If no policy is selected, the default behavior is to enable both discard types. The /etc/fstab mount options discard, discard=once, or discard=pages may also be used to enable discard flags.
-o, --options opts
swapon -o pri=1,discard=pages,nofail /dev/sda2
The opts string is evaluated last and overrides all other command line options.
-p, --priority priority
swapoff has the following exit status values since v2.36:
The command swapoff --all returns 0 (all succeeded), 32 (all failed), or 64 (some failed, some succeeded).
+ The old versions before v2.36 has no documented exit status, 0 means success in all versions.
Files with holes¶
The swap file implementation in the kernel expects to be able to write to the file directly, without the assistance of the filesystem. This is a problem on files with holes or on copy-on-write files on filesystems like Btrfs.
Preallocated files created by fallocate(1) may be interpreted as files with holes too depending of the filesystem. Preallocated swap files are supported on XFS since Linux 4.18.
The most portable solution to create a swap file is to use dd(1) and /dev/zero.
Swap files on Btrfs are supported since Linux 5.0 on files with nocow attribute. See the btrfs(5) manual page for more details.
Swap over NFS may not work.
swapon automatically detects and rewrites a swap space signature with old software suspend data (e.g., S1SUSPEND, S2SUSPEND, ...). The problem is that if we don’t do it, then we get data corruption the next time an attempt at unsuspending is made.
The swapon command appeared in 4.0BSD.
For bug reports, use the issue tracker at <https://github.com/karelzak/util-linux/issues>.
The swapon command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.