Solaris のシステム管理 (第 1 巻)

スワップ空間の追加

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

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

スワップファイルの作成

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

mkfile コマンド

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

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

表 38-3 mkfile コマンドのオプション

オプション 

説明 

-n

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

-v

詳細モード。作成されたファイル名とサイズが表示される。 


注意 - 注意 -

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


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

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

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

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


    # mkfile nnn[k|b|m] filename
    

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

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


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

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

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

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


    /usr/sbin/swap -l
    

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

次の例では、/files/swapfiles という 24M バイトのスワップファイルを作成します。


# mkfile 24m /files/swapfile
# swap -a /files/swapfile
# vi /etc/vfstab
(エントリがスワップファイル用に追加される)
/files/swapfile   -      -       swap     -     no     -
# swap -l
swapfile             dev  swaplo blocks   free
/dev/dsk/c0t2d0s1   32,17      8 205624 192704
/files/swapfile       -        8  40952  40952