2006-12-06 17:25:32 -06:00
|
|
|
.\" 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
|
|
|
|
.\" "
|
2006-12-06 17:25:34 -06:00
|
|
|
.TH MKSWAP 8 "February 1995" "Linux 1.0" "Linux Programmer's Manual"
|
2006-12-06 17:25:32 -06:00
|
|
|
.SH NAME
|
2006-12-06 17:25:33 -06:00
|
|
|
mkswap \- set up a Linux swap area
|
2006-12-06 17:25:32 -06:00
|
|
|
.SH SYNOPSIS
|
|
|
|
.B "mkswap [ \-c ]"
|
|
|
|
.IB device " [" size-in-blocks "]"
|
|
|
|
.SH DESCRIPTION
|
|
|
|
.B mkswap
|
2006-12-06 17:25:33 -06:00
|
|
|
sets up a Linux swap area on a device or in a file.
|
2006-12-06 17:25:32 -06:00
|
|
|
|
|
|
|
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
|
2006-12-06 17:25:33 -06:00
|
|
|
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:
|
2006-12-06 17:25:32 -06:00
|
|
|
|
|
|
|
.RS
|
2006-12-06 17:25:33 -06:00
|
|
|
MINCOUNT = 10 * PAGE_SIZE / 1024
|
|
|
|
.br
|
|
|
|
MAXCOUNT = (PAGE_SIZE - 10) * 8 * PAGE_SIZE / 1024
|
2006-12-06 17:25:32 -06:00
|
|
|
.RE
|
|
|
|
|
2006-12-06 17:25:33 -06:00
|
|
|
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
|
2006-12-06 17:25:32 -06:00
|
|
|
purpose:
|
|
|
|
|
|
|
|
.nf
|
|
|
|
.RS
|
|
|
|
# dd if=/dev/zero of=swapfile bs=1024 count=8192
|
|
|
|
# mkswap swapfile 8192
|
|
|
|
# sync
|
|
|
|
# swapon swapfile
|
|
|
|
.RE
|
|
|
|
.fi
|
|
|
|
|
2006-12-06 17:25:33 -06:00
|
|
|
Note that a swap file must not contain any holes (so, using
|
2006-12-06 17:25:32 -06:00
|
|
|
.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)
|