.\" Copyright 1992, 1993 Rickard E. Faith (faith@cs.unc.edu) .\" May be distributed under the GNU General Public License .\" Modified with suggestions from Linus, Mon Feb 1 21:40:49 1993 .\" Modified with patches from Kai, Wed Jun 22 21:54:56 1994 .\" Patches from jaggy@purplet.demon.co.uk (Mike Jagdis), Wed Feb 8 1995 .\" Added comments from Nick Holloway, Sat Feb 11 1995, faith@cs.unc.edu .\" " .TH MKSWAP 8 "February 1995" "Linux 1.0" "Linux Programmer's Manual" .SH NAME mkswap \- set up a Linux swap area .SH SYNOPSIS .B "mkswap [ \-c ]" .IB device " [" size-in-blocks "]" .SH DESCRIPTION .B mkswap sets up a Linux swap area on a device or in a file. The .I device is usually of the following form: .nf .RS /dev/hda[1-8] /dev/hdb[1-8] /dev/sda[1-8] /dev/sdb[1-8] .RE .fi The .I size-in-blocks parameter is the desired size of the file system, in blocks. This information is determined automatically by .B mkswap if it is omitted. Block counts are rounded down so that the total size is an integer multiple of the machine's page size. Only block counts in the range MINCOUNT..MAXCOUNT are allowed. If the block count exceeds the MAXCOUNT, it is truncated to that value and a warning message is issued. The MINCOUNT and MAXCOUNT values for a swap area are: .RS MINCOUNT = 10 * PAGE_SIZE / 1024 .br MAXCOUNT = (PAGE_SIZE - 10) * 8 * PAGE_SIZE / 1024 .RE For example, on a machine with 4kB pages (e.g., x86), we get: .RS MINCOUNT = 10 * 4096 / 1024 = 40 .br MAXCOUNT = (4096 - 10) * 8 * 4096 / 1024 = 130752 .RE As each block is 1kB large, the swap area in this example could have a size that is anywhere in the range from 40kB up to 127.6875MB. If you don't know the page size that your machine uses, you may be able to look it up with "cat /proc/cpuinfo". The reason for the limit on MAXCOUNT is that a single page is used to hold the swap bitmap at the start of the swap area, where each bit represents a single page. The reason for the -10, is that the signature is "SWAP-SPACE" -- 10 characters. To setup a swap file, it is necessary to create that file before running .B mkswap . A sequence of commands similar to the following is reasonable for this purpose: .nf .RS # dd if=/dev/zero of=swapfile bs=1024 count=8192 # mkswap swapfile 8192 # sync # swapon swapfile .RE .fi Note that a swap file must not contain any holes (so, using .BR cp (1) to create the file is not acceptable). .SH OPTIONS .TP .B \-c Check the device for bad blocks before creating the file system. If any are found, the count is printed. This option is meant to be used for swap partitions .BR only , and should .B not be used for regular files! To make sure that regular files do not contain bad blocks, the partition that contains the regular file should have been created with .BR "mkfs -c" . .SH "SEE ALSO" .BR fsck (8), .BR mkfs (8), .BR fdisk (8) .SH AUTHOR Linus Torvalds (torvalds@cs.helsinki.fi)