| .\" 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) |