システム構成を変更して新しいソフトウェアパッケージをインストールした後に、スワップ空間を追加しなければならないことがあります。その場合に望ましいのは、mkfile コマンドと swap コマンドを使用して、既存の UFS または NFS ファイルシステムの一部を補助スワップ空間として指定する方法です。次の節で説明するように、これらのコマンドを使用すると、ディスクをパーティションに分割し直さなくても、スワップ空間を追加できます。
スワップ空間を追加するもう 1 つの方法は、既存のディスクをパーティションに分割し直すか、別のディスクを追加することです。ディスクをパーティションに分割し直す方法については、第 31 章「ディスクの管理 (概要)」を参照してください。
次の手順でスワップファイルを作成します。
mkfile コマンドを使用してスワップファイルを作成する。
swap コマンドを使用してスワップファイルを有効にする。
システムのブート時に自動的に有効になるように、スワップファイルのエントリを /etc/vfstab ファイルに追加する。
mkfile コマンドは、NFS のマウント済みスワップ空間またはローカルスワップ空間に使用できるファイルを作成します。スティッキビットが設定され、ファイルは 0 が埋め込まれます。スワップファイルのサイズは、バイト数 (デフォルト) として指定するか、接尾辞 k、b、m を使用して、それぞれ K バイト数、ブロック数、M バイト数として指定できます。
次の表に、mkfile コマンドのオプションを示します。
表 41-2 mkfile コマンドのオプション
オプション |
説明 |
---|---|
-n |
空のファイルを作成する。サイズは表示されるが、データが書き込まれるまでディスクブロックは割り当てられない。 |
-v |
作成されたファイル名とサイズが表示される。 |
-n オプションは、NFS スワップファイルの作成時のみ使用してください。
スーパーユーザーになります。
root の権限がなくてもスワップファイルを作成できますが、スワップファイルが誤って上書きされないように、root を所有者にしておくとよいでしょう。
必要に応じて、スワップファイル用のディレクトリを作成します。
# mkfile nnn[k|b|m] filename |
指定したサイズ「nnn」(K バイト、バイト、または M バイト) とファイル名でスワップファイルが作成されます。
スワップファイルを有効にします。
# /usr/sbin/swap -a /path/filename |
絶対パス名を使用してスワップファイルを指定しなければなりません。スワップファイルが追加され、ファイルシステムがマウント解除されるか、またはシステムがリブートされるまで使用可能になります。プロセスまたはプログラムがスワップファイルにスワップしているときは、ファイルシステムのマウントを解除できないことに注意してください。
次のように、ファイルのフルパス名を指定し、ファイルシステムのタイプとして swap を指定して、スワップファイルのエントリを /etc/vfstab ファイルに追加します。
/path/filename - - swap - no - |
スワップファイルが追加されたことを確認するには、次のように入力します。
$ /usr/sbin/swap -l |
次の例は、/files/swapfiles という 100M バイトのスワップファイルを作成する方法を示しています。
# mkdir /files # mkfile 100m /files/swapfile # swap -a /files/swapfile # vi /etc/vfstab (エントリがスワップファイル用に追加される): /files/swapfile - - swap - no - # swap -l swapfile dev swaplo blocks free /dev/dsk/c0t0d0s1 136,1 16 1638608 1600528 /files/swapfile - 16 204784 204784 |