最近Oracle Cloud VPSのFree Tier Always Free枠で遊んでいます.
今日はなんだかとても重くなりましたRAMが1GBあるのですが,9割以上利用していました.swapは未設定.swapを設定してみました.
Oracle Cloudですが大抵の環境でも同じように出来るはずです.
タグ: swapfile
スワップファイルを作ってお手軽にスワップを増やす
RAMを大量に必要とするプログラムがあって遅くてもいいから一時的にスワップを増やしてやり過ごすことがあります.また,RAMの少ないマシンでディスクの構成をいじるのが面倒なときにもスワップファイルが使えます.ということで今回RAMが2GBでそこそこあるけど偶に使い切ってしまう(主にchromium!)のでスワップファイルを用意してみました.
スワップファイルを作成します.今回は/var/tmp/swap.img
というファイルで2GB用意しました.
$ sudo install -o root -g root -m 0600 /dev/null /var/tmp/swap.img
$ sudo dd if=/dev/zero of=/var/tmp/swap.img bs=1M count=2048
$ sudo mkswap /var/tmp/swap.img
とりあえずスワップファイルをアドホックに有効にします.
$ sudo swapon /var/tmp/swap.img
.スワップが増えています.
$ swapon -s
Filename Type Size Used Priority
/dev/zram0 partition 254688 80024 5
/dev/zram1 partition 254688 80016 5
/dev/zram2 partition 254688 79940 5
/dev/zram3 partition 254688 79928 5
/var/tmp/swap.img file 2097148 0 -1
一時的に必要な場合はこれで良いのですが,恒久的に利用したい場合はこのままでは再起動後には有効になりません./etc/fstab
に設定を書いて起動時に有効になるようにします.
$ sudo vi /etc/fstab
$ grep -i swap.img /etc/fstab
/var/tmp/swap.img none swap sw 0 0
一旦swapoff
でスワップを無効にしてswapon -a
でfatabの設定が有効か試します.swapon -a
はfstab
のスワップの設定を全て有効にします.
$ sudo swapoff /var/tmp/swap.img
$ sudo swapon -a
$ swapon -s
Filename Type Size Used Priority
/dev/zram0 partition 254688 80020 5
/dev/zram1 partition 254688 80016 5
/dev/zram2 partition 254688 79940 5
/dev/zram3 partition 254688 79928 5
/var/tmp/swap.img file 2097148 0 -1
念のため再起動してスワップファイルが有効かも試せばOKです :)
スワップファイルの利用はお手軽ですが,スワップパーティーションに比べると性能は少し落ちるので可能ならスワップパーティーションを利用したほうが良いです.RAMが増設できるならそれが一番です.
環境
$ dpkg-query -W mount
mount 2.27.1-6ubuntu3.6
$ lsb_release -d
Description: Ubuntu 16.04.4 LTS
$ uname -m
aarch64