Solaris のシステム管理 (基本編)

スワップ空間の追加

システム構成を変更して新しいソフトウェアパッケージをインストールした後に、スワップ空間を追加しなければならないことがあります。その場合に望ましいのは、mkfile コマンドと swap コマンドを使用して、既存の UFS または NFS ファイルシステムの一部を補助スワップ空間として指定する方法です。次の節で説明するように、これらのコマンドを使用すると、ディスクをパーティションに分割し直さなくても、スワップ空間を追加できます。

スワップ空間を追加するもう 1 つの方法は、既存のディスクをパーティションに分割し直すか、別のディスクを追加することです。ディスクをパーティションに分割し直す方法については、第 32 章「ディスクの管理 (概要)」を参照してください。

スワップファイルの作成

次の手順でスワップファイルを作成します。

mkfile コマンド

mkfile コマンドは、NFS のマウント済みスワップ空間またはローカルスワップ空間に使用できるファイルを作成します。スティッキビットが設定され、ファイルは 0 が埋め込まれます。スワップファイルのサイズは、バイト数 (デフォルト) として指定するか、接尾辞 kbm を使用して、それぞれ K バイト数、ブロック数、M バイト数として指定できます。

次の表に、mkfile コマンドのオプションを示します。

表 42–2 mkfile コマンドのオプション

オプション 

説明 

-n

空のファイルを作成する。サイズは表示されるが、データが書き込まれるまでディスクブロックは割り当てられない。 

-v

作成されたファイル名とサイズが表示される。 


注意 – 注意 –

-n オプションは、NFS スワップファイルの作成時のみ使用してください。


スワップファイルを作成して使用可能にする方法

  1. スーパーユーザーになります。

    root の権限がなくてもスワップファイルを作成できます。しかし、スワップファイルが誤って上書きされないように、root を所有者にしておくとよいでしょう。

  2. 必要に応じて、スワップファイル用のディレクトリを作成します。

  3. スワップファイルを作成します。


    # mkfile nnn[k|b|m] filename
    

    指定したサイズ「nnn」(K バイト、バイト、または M バイト) とファイル名でスワップファイルが作成されます。

  4. スワップファイルを有効にします。


    # /usr/sbin/swap -a /path/filename
    

    絶対パス名を使用してスワップファイルを指定しなければなりません。スワップファイルが追加され、ファイルシステムがマウント解除されるか、またはシステムがリブートされるまで使用可能になります。 プロセスまたはプログラムがスワップファイルにスワップしているときは、ファイルシステムのマウントを解除できないことに注意してください。

  5. 次のように、ファイルのフルパス名を指定し、ファイルシステムのタイプとして swap を指定して、スワップファイルのエントリを /etc/vfstab ファイルに追加します。


    /path/filename   -      -       swap     -     no     -
  6. スワップファイルが追加されたことを確認するには、次のように入力します。


    $ /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