//po4a: entry man manual //// Copyright 1998 Andries E. Brouwer (aeb@cwi.nl) May be distributed under the GNU General Public License //// = mkswap(8) :doctype: manpage :man manual: System Administration :man source: util-linux {release-version} :page-layout: base :command: mkswap == NAME mkswap - set up a Linux swap area == SYNOPSIS *mkswap* [options] _device_ [_size_] == DESCRIPTION *mkswap* sets up a Linux swap area on a device or in a file. The _device_ argument will usually be a disk partition (something like _/dev/sdb7_) but can also be a file. The Linux kernel does not look at partition IDs, but many installation scripts will assume that partitions of hex type 82 (LINUX_SWAP) are meant to be swap partitions. (*Warning: Solaris also uses this type. Be careful not to kill your Solaris partitions.*) The _size_ parameter is superfluous but retained for backwards compatibility. (It specifies the desired size of the swap area in 1024-byte blocks. *mkswap* will use the entire partition or file if it is omitted. Specifying it is unwise - a typo may destroy your disk.) After creating the swap area, you need the *swapon*(8) command to start using it. Usually swap areas are listed in _/etc/fstab_ so that they can be taken into use at boot time by a *swapon -a* command in some boot script. == WARNING The swap header does not touch the first block. A boot loader or disk label can be there, but it is not a recommended setup. The recommended setup is to use a separate partition for a Linux swap area. *mkswap*, like many others mkfs-like utils, *erases the first partition block to make any previous filesystem invisible.* However, *mkswap* refuses to erase the first block on a device with a disk label (SUN, BSD, ...). == OPTIONS *-c*, *--check*:: Check the device (if it is a block device) for bad blocks before creating the swap area. If any bad blocks are found, the count is printed. *-f*, *--force*:: Go ahead even if the command is stupid. This allows the creation of a swap area larger than the file or partition it resides on. + Also, without this option, *mkswap* will refuse to erase the first block on a device with a partition table. *-q*, *--quiet*:: Suppress output and warning messages. *-L*, *--label* _label_:: Specify a _label_ for the device, to allow *swapon*(8) by label. *--lock*[=_mode_]:: Use exclusive BSD lock for device or file it operates. The optional argument _mode_ can be *yes*, *no* (or 1 and 0) or *nonblock*. If the _mode_ argument is omitted, it defaults to *yes*. This option overwrites environment variable *$LOCK_BLOCK_DEVICE*. The default is not to use any lock at all, but it's recommended to avoid collisions with *systemd-udevd*(8) or other tools. *-p*, *--pagesize* _size_:: Specify the page _size_ (in bytes) to use. This option is usually unnecessary; *mkswap* reads the size from the kernel. *-U*, *--uuid* _UUID_:: Specify the _UUID_ to use. The default is to generate a UUID. The format of the UUID is a series of hex digits separated by hyphens, like this: "c1b9d5a2-f162-11cf-9ece-0020afc76f16". The UUID parameter may also be one of the following: + *clear*;; clear the filesystem UUID *random*;; generate a new randomly-generated UUID *time*;; generate a new time-based UUID *-v*, *--swapversion 1*:: Specify the swap-space version. (This option is currently pointless, as the old *-v 0* option has become obsolete and now only *-v 1* is supported. The kernel has not supported v0 swap-space format since 2.5.22 (June 2002). The new version v1 is supported since 2.1.117 (August 1998).) *--verbose*:: Verbose execution. With this option *mkswap* will output more details about detected problems during swap area set up. include::man-common/help-version.adoc[] == ENVIRONMENT LIBBLKID_DEBUG=all:: enables libblkid debug output. LOCK_BLOCK_DEVICE=:: use exclusive BSD lock. The mode is "1" or "0". See *--lock* for more details. == NOTES The maximum useful size of a swap area depends on the architecture and the kernel version. The maximum number of the pages that is possible to address by swap area header is 4294967295 (32-bit unsigned int). The remaining space on the swap device is ignored. Presently, Linux allows 32 swap areas. The areas in use can be seen in the file _/proc/swaps_. *mkswap* refuses areas smaller than 10 pages. If you don't know the page size that your machine uses, you can look it up with *getconf PAGESIZE*. To set up a swap file, it is necessary to create that file before initializing it with *mkswap*, e.g. using a command like .... # dd if=/dev/zero of=swapfile bs=1MiB count=$((8*1024)) .... to create 8GiB swapfile. Please read notes from *swapon*(8) about *the swap file use restrictions* (holes, preallocation and copy-on-write issues). == SEE ALSO *fdisk*(8), *swapon*(8) include::man-common/bugreports.adoc[] include::man-common/footer.adoc[] ifdef::translation[] include::man-common/translation.adoc[] endif::[]