free
total used free shared buff/cache available Mem: 1881964 1416736 86188 25228 379040 283588 Swap: 0 0 0
Swap
のtotal
が0
ならばスワップファイルが設定されていない
free
コマンドでSwap
のtotal
が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
コマンドは、ただ空のファイルを作成しているだけで、作成したファイルをスワップファイルとして登録する作業はこの後の手順で行う
/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
Swap
のtotal
が4194300
と表示されていればOK
swapon
を実行するとスワップ機能がオンになるが、再起動するとスワップ機能がオフに戻ってしまう
/etc
ディレクトリにある
fstab
というファイルに設定を追加すれば、サーバーの起動時に自動的にスワップをオンにできる
vi /etc/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