LANDISK HACKING DIARY
Since2005/8/17
TOPへ戻る
     Swap領域を拡張する
 




起動するサービスを増やしたり、システムをアップデートしたりしていくうちに、段々とメモリが足りなくなってくることがあります。メモリが足りなくなると、メモリを確保するためにSwap領域を使います。システムのインストール時にSwap領域を作り忘れたり、スワップ容量の指定が適切でなかった場合は、実メモリが食いつぶされた時点、もしくはSwap領域が食いつぶされた時点で特定のデーモンが勝手に停止させられたりして、サーバーに予期せぬ出来事が起こったりします。ここでは、システムの余った領域にSwap領域を作成し、それらのトラブルを回避する方法について解説していきます。

Swap領域は、容量の空いている場所ならどこにでも作成する事が出来ます。ここでは、/home/swap ディレクトリを作成し、そこに swap ファイルを作成する事とします。 swapファイルを作成するには、ddコマンドを用います。dd コマンドは、誤入力するとHDDのデータが一瞬にして消え去ってしまうので注意深くコマンドを打つようにしてください。

count で swap ファイルの大きさを指定します。大きくすればするほどパフォーマンスがあがるというものでもないので、実搭載メモリの2倍程度、ここでは1GB程度を割り当てます。

dd if=/dev/zero of=/home/swap/swap_1GB bs=1024 count=1024000

Swap領域にするファイルを指定します。

# mkswap /home/swap/swap_1GB

Swap を ONの状態にします。

# swapon /home/swap/swap_1GB

拡張したSwap領域が機能しているかどうかは free コマンドで確認します。(注※以下の例は、Swap領域を1.5GB にした例です)

# free -mt
total used free shared buffers cached
Mem: 504 460 43 0 90 170
-/+ buffers/cache: 199 305
Swap: 1535 57 1478
Total: 2040 518 1522

以下のコマンドでSwap領域の情報を表示させる事ができます。(注※以下の例は、Swap領域を1.5GB にした例です)

# swapon -s
Filename Type Size Used Priority
/home/swap/swap_1_5GB file 1572856 59112 -1

最後に、システム起動時にSwapが On になるように設定します。vi で以下のようなシェルスクリプトを作成します。

# vi /usr/local/bin/swap.sh

#!/bin/sh
swapon /home/swap/swap_1GB

ファイルに実行権を付与し、シンボリックリンクを張っておきます。以上で終了です。

# chmod 755 /usr/local/bin/swap.sh
# ln -s /usr/local/bin/swap.sh /etc/rc2.d/S12swap





TOPへ戻る
 
Copyright © KORO All Rights Reserved.