FreeBSD QandA 2441

FreeBSD QandA

Q. スワップ (swap) 領域のサイズはどのくらい確保すべきなのでしょうか。また、
   後からスワップ領域サイズを増やしたくなった場合のお手軽な対処方法はありますか。

A. FreeBSD の場合は VM のアルゴリズム上、物理メモリ量 2倍以上のスワップ
   領域を確保した方が性能が良くなるようです。tuning(7) を参照してください。

   また、スワップ領域サイズが物理メモリサイズ以上なければ、カーネルパニック
   時のカーネルダンプが出来なくなります。

   なお、本来 FreeBSD をスワップ領域なしで運用することは可能なのですが、
   FreeBSD の sysinstall(8) を使ってインストールすると、必ずスワップ領域を
   指定しないといけません。これは sysinstall(8) の制限です。


   スワップ領域はスワップファイルとして用意することも可能ですので、

      - まずはスワップ領域を少なめ (32MB程度) でインストールしてみる。
      - 使ってみてメモリがやはりキツければ、スワップファイルを追加する。

   という手も使えます。

   例として、10MB のスワップファイルを /usr/SWAPFILE として追加する方法を
   紹介します(4.8-RELEASEで確認されています)。

     1. スワップ領域として使用するファイルを作成

        # dd if=/dev/zero of=/usr/SWAPFILE bs=1024k count=10

     2. /etc/rc.conf に次の記述を追加

        swapfile="/usr/SWAPFILE"

     3. リブートし、スワップ領域に追加されたか確認

        # pstat -s
        Device          1K-blocks     Used    Avail Capacity  Type
        /dev/ad0s1b        130944        0   130944     0%    Interleaved
     → /dev/rvn0b          10112        0    10112     0%    Interleaved
        Total              141056        0   141056     0%

   この方法を、FAT ボリュームにある pagefile.sys (Windows のスワップファイル)
   に応用することも可能です。

間違い・追加情報を見付けた場合は、 修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで お知らせください。