MKSWAP(8)

名前
mkswap - Linux のスワップ領域を作成する

書式
mkswap [ -c ] device [size-in-blocks]

説明
mkswap は Linux のスワップ領域をデバイス上またはファイル上に作成する。 device は通常以下のような形式をとる:
    /dev/hda[1-8]
    /dev/hdb[1-8]
    /dev/sda[1-8]
    /dev/sdb[1-8]
size-in-blocks にはスワップ領域のサイズをブロック単位で指定する。このパラメータが省略 された場合には、 mkswap は自動的にサイズを決定する。 ブロック数は、領域の全サイズがマシンのページサイズの整数倍になるように 丸められる。 ブロック数には MINCOUNT から MAXCOUNT の間の値しか設 定できない。ブロック数が MAXCOUNT を越えた場合には、超過分を切り捨てて 警告メッセージを発する。 スワップ領域用の MINCOUNT と MAXCOUNT の値は以下のように決定される:
    MINCOUNT = 10 * PAGE_SIZE / 1024
    MAXCOUNT = (PAGE_SIZE - 10) * 8 * PAGE_SIZE / 1024
例えばページサイズが 4kB のマシン (例えば x86) では以下のようになる:
    MINCOUNT = 10 * 4096 / 1024 = 40
    MAXCOUNT = (4096 - 10) * 8 * 4096 / 1024 = 130752
各々のブロックの大きさは 1kB なので、この例でのスワップ領域の大きさには 40kB から 127.6875MB までのどんな値でも指定できる。 使っているマシンのページサイズがわからない場合は、"cat /proc/cpuinfo" によって調べることができる。 上限値 MAXCOUNT がある理由は、スワップ領域の先頭の 1 ページがビットマッ プになっていて、各ビットが領域中の各ページに対応しているためである。値 が -10 されているのは、 10 文字のサイン "SWAP-SPACE" が書き込まれて いるからである。 スワップファイルを作成する場合は、 mkswap を実行する前にファイルを作成しておく必要がある。 この目的には、以下の例に示すような一連のコマンドを用いれば良い:
    # dd if=/dev/zero of=swapfile bs=1024 count=8192
    # mkswap swapfile 8192
    # sync
    # swapon swapfile
スワップファイルには「穴 (領域の不連続) 」が存在してはならないことに注 意せよ (したがってファイルを作成する際に cp(1) を使ってはならない)。

オプション

-c  ファイルシステムを作る前に、デバイスに対して不良ブロックのチェックを行 う。不良ブロックが見つかった場合は、そのカウント数を表示する。このオプ ションはスワップパーティションだけに用いるべきであり、通常のファ イルに用いてはならない！通常のファイルに不良ブロックがないかを チェックしたい場合には、そのファイルを含むパーティションを作成する際に mkfs -c を用いてチェックしておくべきである。

関連情報
fsck(8), mkfs(8), fdisk(8)

著者
Linus Torvalds (torvalds@cs.helsinki.fi)