FreeBSD スワップ領域の拡張

| | コメント(0) | トラックバック(0)

MT の再構築時のサーバエラー("Premature end of script headers...")対策としては本来,メモリを増設するのが望ましい.しかし,オンボロ ThinkPad サーバに投資をするには懐が寂しすぎる.MT のEntriesPerRebuild 設定値を変えたりしてみても限界があるようである.

実記憶装置の増設はさしあたりペンディングとしても,仮想記憶を増やしておくのも手だてとしてあるわけで,FreeBSD Handbook に従ってスワップ領域を追加してみた.仮想記憶の容量は実記憶容量とのバランスを考えて設定しないと,ページングが頻発してパフォーマンスが低下する,いわゆるスラッシングを招く場合がある.そのあたりのリスクを受け容れるべきである.

FreeBSD 5.4 での拡張方法を整理しておく.ただし,この方法はバージョンに依存するので,4.X 系を使っている方は使えないことに注意.

まず追加するスワップ領域をディスク上に作成する./usr/swap0 として 256MB の容量とした.容量を変えたい場合は dd コマンド引数 count 回数値を MB 換算値に指定すればよい.次にファイルのパーミションを設定し,最後に mdconfigswapon コマンドを発行すれば有効になった.

# dd if=/dev/zero of=/usr/swap0 bs=1024k count=256
# chmod 0600 /usr/swap0
# mdconfig -a -t vnode -f /usr/swap0 -n 0 && swapon /dev/md0

pstat コマンドで確認する./dev/md0 が機能していることがわかる.

# pstat -s
Device          1K-blocks     Used    Avail Capacity
/dev/ad0s1b        393216   218864   174352    56%
/dev/md0           262144    38916   223228    15%
Total              655360   257780   397580    39%

リブートは不要である.しかし,システムを停止するとこの swapon 操作は無に帰するので,次回リブートしたときも活きるよう,/etc/rc.conf に以下の行を追加しておく.

swapfile="/usr/swap0"

カーネルコンフィグレーションファイルにおいて md 疑似デバイスが有効になっている必要がある.これは標準の GENERIC カーネルにも組込まれているので,あまり気にせずともよさそうである.カスタマイズしている方は,「device md」の行があるか確認し,なければ追加してカーネル再構築を行う.

MT の EntriesPerPrebuild 値をデフォルトの 40 に戻して,再構築してみたが問題なさそうである.

トラックバック(0)

このブログ記事を参照しているブログ一覧: FreeBSD スワップ領域の拡張

このブログ記事に対するトラックバックURL: http://nox-insomniae.ddo.jp/cgi-bin/mt-tb.cgi/198

Comments


画像の中に見える文字を入力してください。

Profile

ISAO。システムエンジニア。昭和 30 年代を懐かしむオヤジ。ロシアに興味があります。
[more], [About our site]

Notice

この文書はフィクションであり,実在する個人,団体等とは一切関係ありません。

文書の記述内容は無保証です。不適切な表現があればコメントにてご指摘ください。

管理者が公序良俗に反すると判断したコメント,トラックバックは,断りなく削除される場合があります。

Links

About this entry

Written by isao at 2007年3月18日 15:46.

Previous: LaTeX 単語数,文字数集計プログラム

Next: 卒業式

Recent Entries in Main Index.
All Entries in Archive Index.

Web Pages

Powered by Movable Type 4.1