# mkswap(8) - man - phpMan

[MKSWAP(8)](https://www.chedong.com/phpMan.php/man/MKSWAP/8/markdown)                               System Administration                              [MKSWAP(8)](https://www.chedong.com/phpMan.php/man/MKSWAP/8/markdown)



## 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** 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.

### -L --label
           Specify a _label_ for the device, to allow **swapon** 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 udevd or other tools.

### -p --pagesize
           Specify the page _size_ (in bytes) to use. This option is usually unnecessary; **mkswap** reads
           the size from the kernel.

### -U --uuid
           Specify the _UUID_ to use. The default is to generate a UUID.

### -v --swapversion
           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.

### -h --help
           Display help text and exit.

### -V --version
           Display version information and exit.

## ENVIRONMENT
       LIBBLKID_DEBUG=all
           enables libblkid debug output.

       LOCK_BLOCK_DEVICE=<mode>
           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 may be able to look it up with
       **cat** **/proc/cpuinfo** (or you may not - the contents of this file depend on architecture and
       kernel version).

       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)](https://www.chedong.com/phpMan.php/man/swapon/8/markdown) about **the** **swap** **file** **use** **restrictions** (holes, preallocation
       and copy-on-write issues).

## SEE ALSO
       [**fdisk**(8)](https://www.chedong.com/phpMan.php/man/fdisk/8/markdown), [**swapon**(8)](https://www.chedong.com/phpMan.php/man/swapon/8/markdown)

## REPORTING BUGS
       For bug reports, use the issue tracker at <https://github.com/karelzak/util-linux/issues>.

## AVAILABILITY
       The **mkswap** 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/>>.



util-linux 2.37.2                            2021-06-02                                    [MKSWAP(8)](https://www.chedong.com/phpMan.php/man/MKSWAP/8/markdown)
