Linuxのswap領域を追加する方法
手順はこちらの記事からの引用です。
http://piro791.blog.so-net.ne.jp/2009-03-05
同じように試してみて、できました。
swap領域の確認
現状のswap領域について確認するには /proc/swapsを見る。
[root@test-server1 ~]# cat /proc/swaps Filename Type Size Used Priority /dev/sda2 partition 2096472 2091628 -1
/dev/sda2に、およそ2GBのswap領域が作成されている。で、この2GBの領域をもうじき使い切りそうな勢いである。
swapを追加する方法としては、上記のように、ディスクにswap用のパーティションを作成する方法と、通常のファイルシステムの上にswap用のファイルを作成し、それをあたかもswap専用の領域として使わせる方法とがある。(アレなOSの「pagefile.sys」みたいな感じ)
ディスクにパーティションとして未使用の領域があるならいざ知らず、おそらく大多数の場合はディスクはめいっぱいパーティションを切って使用しているはずだろうから、後者の方法を使って急場しのぎをするのが手軽で良いだろう。
手順
それでは、swap用のファイルを作成し、それをswap領域として追加する手順を以下に記述する。
1、swap用のファイルを作成する
2、作成したswap用ファイルの属性を変更する
3、swap用のファイルをswapとして登録する
4、(必要に応じて)fstabにその領域をswapとしてマウントするように記述する
※4を実施しないと、リブートした時にはその領域をswapとして使用しなくなってしまう。
1、swap用のファイルを作成する
まずは、swap用のファイルを作成する。ここで作成したファイルの大きさがそのまま「追加されるswap領域の大きさ」になる。よって、2GBのswap領域を追加したい場合は、「2GBの大きさのファイル」を作成することとなる。
ddコマンドを使うのが簡単だろう。
dd if=/dev/zero of=swap用ファイルのパス名 bs=単位 count=サイズ
例えば、256MBのswap領域を追加したいなら、単位には「1M」を、サイズには「256」と書けばいいし、4GBくらいばばーんと追加したいなら、単位には「1G」を、サイズには「4」と書けばいいだろう。(もちろん、1Mの4096と書いてもいいけど)
そして、swap用ファイルのパス名にはこれから作成するswap用ファイルを指定する。いかにもswap用のファイルだと判るような名前にしておくのがよろしかろう。
ここでは、/swap.extended というファイルで2GBの領域を追加したいと思うので、以下のようにしてファイルを作成した。
dd if=/dev/zero of=/swap.extended bs=1M count=2048
[root@test-server1 ~]# ls -l / total 2099374 (途中省略) -rw-r--r-- 1 root root 2147483648 Mar 5 11:43 swap.extended drwxr-xr-x 9 root root 0 Feb 18 03:02 sys drwxrwxrwt 7 root root 12288 Mar 5 13:40 tmp drwxr-xr-x 15 root root 4096 Sep 14 2006 usr drwxr-xr-x 21 root root 4096 Jun 5 2008 var
こんな感じでswapファイルが作成された。
2、作成したswap用ファイルの属性を変更する
続いて、今作成したファイルをswap用ファイルとして属性を変更する。用いるコマンドはmkswapである。
mkswap swap用ファイルのパス名
なお、パス名に続けてswapとして使用する領域の大きさを変更することが出来るが、まずほとんどのケースでは指定する必要はない。「2GBのswap用ファイルを作成したものの、このうち1GBしか使いたくない」とかそんなかなりレアっぽい場合に限り、これを指定することになろう。
そんな訳で、今回はswap用ファイルの全ての領域をそのままswapとして使用したいので、指定を省略して構わない。今回の例では、以下のようにコマンドを投入することになろう。
mkswap /swap.extended
3、swap用のファイルをswapとして登録する
いよいよswap領域としてOSに使用させる。ここで用いるコマンドはswaponコマンドである。
swapon swap用ファイルのパス名
ということになるので、今回の例では
swapon /swap.extended
でOK。
swapが追加されたかどうか確認してみる。
[root@test-server1 ~]# cat /proc/swaps Filename Type Size Used Priority /dev/sda2 partition 2096472 2074848 -1 /swap.extended file 2097144 470944 -2
元々の2GBのswap領域に加え、新しく2GBのswap領域が追加されているのが判る。
4、(必要に応じて)fstabにその領域をswapとしてマウントするように記述する
最後に/etc/fstabに今追加したswap領域を自動的にマウントするように追加してやる必要がある。
[root@test-server1 ~]# cat /etc/fstab # This file is edited by fstab-sync - see 'man fstab-sync' for details (途中省略) /dev/sda2 swap swap defaults 0 0 /swap.extended swap swap defaults 0 0
これで、サーバをリブートしても今追加したswap領域が自動的にマウントされるようになる。
コメント