CentOSでスワップファイルを作成・設定する

free
実行結果
              total        used        free      shared  buff/cache   available
Mem:        1881964     1416736       86188       25228      379040      283588
Swap:             0           0           0

Swaptotal0ならばスワップファイルが設定されていない

freeコマンドでSwaptotalが0ではなかった場合
swaponコマンドで既存のスワップファイルのパスなどを確認できる

swapon
実行結果
NAME      TYPE      SIZE USED PRIO
/dev/dm-1 partition   2G   0B   -2

上記の例だと、/dev/dm-1というパスにスワップファイルがある

スワップが未設定の場合は自分でスワップファイルを作成する

dd if=/dev/zero of=/swapfile bs=1M count=4096
実行結果
4096+0 レコード入力
4096+0 レコード出力
4294967296 バイト (4.3 GB) コピーされました、 38.3469 秒、 112 MB/秒

上記のコマンドにより、ルート直下にswapfileというファイルが新規作成される
swapfileの中身はnullで埋め尽くされていて、サイズは4096メガバイト

ddコマンドは、ただ空のファイルを作成しているだけで、作成したファイルをスワップファイルとして登録する作業はこの後の手順で行う

  • if: input file
  • of: output file
  • bs: block size
  • count: 個数

/dev/zeroは中身がnullの特殊なファイル
これをif=/dev/zeroと指定することで、中身がnullのファイルを作成している

of=/swapfileと指定することで、ルート直下にswapfileというファイルが新規作成される

bs=1M count=4096と指定することで、1MBのブロックを4096個、つまり4096MBのファイルが生成される

mkswap /swapfile
実行結果
スワップ空間バージョン1を設定します、サイズ = 4194300 KiB
ラベルはありません, UUID=cf79ba69-233c-4666-b119-814359321417

swapfileをスワップファイルとして使えるようにフォーマット

chmod 600 /swapfile
swapon /swapfile

swapfileのパーミッションを600に変更

swaponでスワップ機能を有効にする

free
実行結果
              total        used        free      shared  buff/cache   available
Mem:        1881964      505016     1079104       16968      297844     1215272
Swap:       4194300           0     4194300

Swaptotal4194300と表示されていればOK

swaponを実行するとスワップ機能がオンになるが、再起動するとスワップ機能がオフに戻ってしまう

/etcディレクトリにある
fstabというファイルに設定を追加すれば、サーバーの起動時に自動的にスワップをオンにできる

vi /etc/fstab
fstab抜粋
/swapfile swap swap defaults 0 0

/etcディレクトリの
fstabというファイルの末尾に
/swapfile swap swap defaults 0 0
という1行を追加する

これにより、再起動時に自動的にスワップ機能が有効になる

fstabはfile system tableの略
ファイルシステムをマウントするための設定ファイル
(fstabの細かいオプションを確認したいときは、man fstabでfstabのマニュアルが確認できる)

swapoff /swapfile

swapoffコマンドにより、スワップ機能を無効化できる

スワップファイルのサイズを変更したいときは
スワップ機能を一旦オフにして、/swapfileを削除する

dd if=/dev/zero of=/swapfile bs=1M count=4096
のときにcountの数値を変更して作り直せばOK

  • 最終更新: 2023/05/19 10:51