Google Compute Engineでは、f1.micro インスタンスが一定の条件下で無料で使用できる。
ただしスペックは弱く、特にメモリが600MBなので、がっつり計算させたりビルドなどの用途には向かない。
とはいえ、ソフトウェアやカーネルのアップグレード時など、しないわけにはいかない処理でも意図せずビルドや重たい処理が走ることがある。 特にそんなときにメモリ不足で止まるのは、マシンの整合性が壊れる可能性があり、危ない。
そこで、ストレージをスワップ領域として使うよう確保しておく方法がある。(処理時間はかかるが)
幸い、ストレージは30GBまで無料枠なので、多少、スワップに回す余裕はある。
ほとんどコピペ。
事前確認。Swapが0になっている。
$ free -m total used free shared buff/cache available Mem: xxx xxx xxx xxx xxx xxx Swap: 0 0 0
スワップファイルの作成(とりあえず1GB)
$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
権限設定と、スワップとしての登録・有効化
$ sudo chmod 600 /swapfile $ sudo mkswap /swapfile $ sudo swapon /swapfile
確認
$ free -m
マシン再起動時にも自動的に割り当てられるよう登録
$ sudo vim /etc/fstab ↓1行追加 /swapfile none swap defaults 0 0
$ sudo swapoff /swapfile $ sudo rm /swapfile
$ sudo vim /etc/fstab 追加した1行を削除