MKSWAP

Section: System Administration (8)
Updated: March 2009
Index Return to Main Contents
 

名前

mkswap - Linux のスワップ領域を準備する  

書式

mkswap [options] device [size]  

説明

mkswap は Linux のスワップ領域をデバイス上またはファイル上に準備する。

引き数 device は通常はディスクパーティション (/dev/sdb7 のようなもの) であるが、ファイルを指定することもできる。 Linux カーネルはパーティション ID を参照しないが、 インストールスクリプトの多くでは、パーティション形式が 16 進の 82 (LINUX_SWAP) となっているものをスワップパーティション とみなしている。 (警告: Solaris もこの形式を使う。 Solaris のパーティションを破壊しないように注意すること。)

size パラメータは不要であるが、過去との互換性のために残してある。 (スワップ領域にしたいサイズを 1024 バイトブロック単位で指定する。 このパラメータが省略されると、 mkswap はパーティション全体を用いる。 このパラメータは指定しないほうが賢い。タイプミスをすると ディスクを壊してしまう。)

スワップ領域を準備した後にこの領域の利用を開始するには、 swapon コマンドを用いる必要がある。通常スワップ領域は /etc/fstab にリストされ、起動スクリプトに記述されている swapon -a コマンドによって、起動時から利用できるようになっている。

 

警告

スワップヘッダは、最初のブロックに書き込まない。 ブートローダやディスクラベルをここに置くことができるが、 推奨される設定ではない。 推奨される設定としては、Linux スワップ領域に別のパーティションを使うことである。

mkswap は他の mkfs ユーティリティのように、 以前のファイルシステムが見えなくなるように、 最初のパーティションブロックを消去する。

しかし、 mkswap はディスクラベル (SUN, BSD, ...) が書かれた デバイスの最初のブロックを消去しない。

 

オプション

-c, --check
スワップ領域を作る前に、デバイスに対して不良ブロックの チェックを行う。 不良ブロックが見つかった場合は、そのカウント数を表示する。
-f, --force
馬鹿なコマンドでも実行する。 これを指定すると、ファイルまたはパーティションの実際の大きさよりも 大きなスワップファイルを作る動作ができてしまう。

また、このオプションを使わないと、 mkswap はパーティションテーブルが書かれたデバイスの最初のブロックを 消去しない。

-L, --label label
ラベル label を指定し、そのラベルで swapon できるようにする。
-p, --pagesize size
指定されたページサイズ size (バイト単位) を使う。 mkswap はページサイズをカーネルから読み出すので、 このオプションは通常は必要ない。
-U, --uuid UUID
指定した UUID を使う。 デフォルトは UUID を生成する。
-v, --swapversion 1
スワップ領域のバージョンを指定する。 (-v 0 オプションは廃止されていて、今は -v 1 のみがサポートされているので、 このオプションは現在では意味がない。 カーネルは v0 のスワップ領域を 2.5.22 (2002 年 6 月) 以降でサポートしていない。 また、新しいバージョン v1 を 2.1.117 (1998 年 8 月) 以降でサポートしている。)
-h, --help
ヘルプを表示して、終了する。
-V, --version
バージョン情報を表示して、終了する。

 

注意

利用できるスワップ領域の最大値は、アーキテクチャとカーネルバージョンに 依存する。 スワップ領域のヘッダでアドレス指定可能な最大のページサイズは、 4294967295 (32-bit unsigned int) である。 スワップデバイスの残りの領域は無視される。

現時点では、 Linux は 32 個のスワップ領域を持つことができる。 利用している領域は /proc/swaps ファイルで見ることができる。

mkswap では 10 ページより小さい領域を作ることはできない。

使っているマシンのページサイズがわからない場合は、"cat /proc/cpuinfo" によって調べることができるかもしれない。 (できないかもしれない - このファイルの内容はアーキテクチャと カーネルのバージョンに依存しているので。)

スワップファイルを作成する場合は、 mkswap による初期化を行う前に、ファイルを作成しておく必要がある。 この目的には、以下のようなコマンドを用いれば良い:

# dd if=/dev/zero of=swapfile bs=1MiB count=$((8*1024))

これで 8GiB スワップファイルが作成できる。

スワップファイル利用の制約 (ホール、事前確保、copy-on-write の問題) については、 swapon(8) の注意を読むこと。

 

環境変数

LIBBLKID_DEBUG=all
libblkid デバッグ出力を有効にする。

 

関連項目

fdisk(8), swapon(8)  

入手方法

mkswap コマンドは util-linux パッケージの一部であり、 https://www.kernel.org/pub/linux/utils/util-linux/ から入手できる。


 

Index

名前
書式
説明
警告
オプション
注意
環境変数
関連項目
入手方法

This document was created by man2html, using the manual pages.
Time: 13:25:23 GMT, March 23, 2020