.\" Copyright 1998 Andries E. Brouwer (aeb@cwi.nl)
.\"
.\" May be distributed under the GNU General Public License
-.\" Rewritten for 2.1.117, aeb, 981010.
.\"
.TH MKSWAP 8 "March 2009" "util-linux" "System Administration"
.SH NAME
mkswap \- set up a Linux swap area
.SH SYNOPSIS
.B mkswap
-.RI [ options ]
+[options]
.I device
.RI [ size ]
.SH DESCRIPTION
(It specifies the desired size of the swap area in 1024-byte blocks.
.B mkswap
will use the entire partition or file if it is omitted.
-Specifying it is unwise -- a typo may destroy your disk.)
+Specifying it is unwise \(en a typo may destroy your disk.)
After creating the swap area, you need the
.B swapon
command to start using it. Usually swap areas are listed in
.I /etc/fstab
so that they can be taken into use at boot time by a
-.B swapon -a
+.B swapon \-a
command in some boot script.
.SH WARNING
However,
.B mkswap
refuses to erase the first block on a device with a disk
-label (SUN, BSD, ...).
+label (SUN, BSD, \&...\&).
.SH OPTIONS
.TP
.SH NOTES
The maximum useful size of a swap area depends on the architecture and
the kernel version.
-It is roughly 2GiB on i386, PPC, m68k and ARM, 1GiB on sparc, 512MiB on mips,
-128GiB on alpha, and 3TiB on sparc64. For kernels after 2.3.3 (May 1999) there is no
-such limitation.
The maximum number of the pages that is possible to address by swap area header
-is 4294967295 (UINT_MAX). The remaining space on the swap device is ignored.
+is 4294967295 (UINT_MAX). The remaining space on the swap device is ignored.
-Note that before version 2.1.117 the kernel allocated one byte for each page,
-while it now allocates two bytes, so that taking into use a swap area of 2 GiB
-might require 2 MiB of kernel memory.
-
-Presently, Linux allows 32 swap areas (this was 8 before Linux 2.4.10 (Sep 2001)).
+Presently, Linux allows 32 swap areas.
The areas in use can be seen in the file
.I /proc/swaps
-(since 2.1.25 (Sep 1997)).
.B 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 --
+able to look it up with "cat /proc/cpuinfo" (or you may not \(en
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
.BR mkswap ,
-e.g. using a command like
+e.g.\& using a command like
.nf
.RS
-# fallocate --length 8GiB swapfile
+# dd if=/dev/zero of=swapfile bs=1MiB count=$((8*1024))
.RE
.fi
-Note that a swap file must not contain any holes (so, using
-.BR cp (1)
-to create the file is not acceptable).
+to create 8GiB swapfile.
+
+Please read notes from
+.BR swapon (8)
+about
+.B the swap file use restrictions
+(holes, preallocation and copy-on-write issues).
.SH ENVIRONMENT
-.IP LIBBLKID_DEBUG=0xffff
-enables debug output.
+.IP LIBBLKID_DEBUG=all
+enables libblkid debug output.
.SH "SEE ALSO"
.BR fdisk (8),
.BR swapon (8)
.SH AVAILABILITY
The mkswap command is part of the util-linux package and is available from
-ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
+https://www.kernel.org/pub/linux/utils/util-linux/.