CentOS7 スワップファイル(swap file)の作成方法


はじめに

VPSレンタルサーバーやクラウドサーバーを使用すると、swapが用意されていたないことがあります。swapがあるのとないとでの違いは、一時的なメモリ不足による問題を回避できるか否かにあります。この記事では、このswapを作成する方法について記述します。
むろん、慢性的なメモリ不足の場合は、実メモリを増やすべきです。

※ここでの手順は、VULTR1クラウドサーバーで検証しました。

※LVM(logical volume manager)を使用しているシステムではswapを用意していると思いますので、LVMを使用していないことを前提としています。

※タイトルにCentOS7としていますが、6でもOKだと思います。

※この記事は2015年11月現在の情報をもとに記述しています。

手順

swapがないことを確認(Swap:行の値が0であることを確認)

[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            741          75         439           9         226         545
Swap:             0           0           0

swapファイル領域を確保

下記例では1GBを確保(下記例ではブロックサイズ1MBで1024個)

[root@localhost ~]# dd if=/dev/zero of=/swapfile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 2.56416 s, 419 MB/s

パーミッションを変更

[root@localhost ~]# chmod 600 /swapfile

swapの作成(ファイルシステムをswapにする)

[root@localhost ~]# mkswap /swapfile
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=d0519bf6-8abf-4c0d-9375-8068c9e5e9a1

swapの有効化

[root@localhost ~]# swapon /swapfile

swapの確認(Swap:行の値が0でなくなっている)

[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:            741          76          57           9         606         537
Swap:          1023           0        1023

swapの永続化

上記の手順だけでは、システムを再起動した場合、swapが無効化されてしまいます。永続化するためには、viなどで/etc/fstabを開き下記の1行を追記する必要があります。

/swapfile                                 swap                    swap    defaults        0 0

 



  1. このリンクはアフィリエイトリンクです。アフィリエイトリンクがいやな方はこちらから。