2020/06/18
GCEインスタンスにswap領域を足してみました
概要
GCEインスタンスがメモリ不足でよく固まってしまうため、swap領域を無理やり足して固まらないように対処しました。
AWSやGCPなどに代表されるクラウドのインスタンスは基本Swap領域を作らず、必要であれば、インスタンスをスケールアップして欲しい(課金して欲しい)という意図が伺えますが、
あまり無駄遣いはしたくない場合もあるので、しょぼいインスタンスでも遅くても良いので、swapを使ってメモリ領域を増やすようにしてみました。
実施内容
2GBのswapfileを作成します
dd if=/dev/zero of=/swapfile bs=1M count=2048
key | value |
---|---|
swaffile名 | /swapfile |
ブロックサイズ | 1M byte |
ブロック数 | 2048 block |
パーミッションを適切なものにします
ls -l /swapfile
chmod 600 /swapfile
ls -l /swapfile
swapファイル化します
mkswap /swapfile
swapon /swapfile
確認
# free
total used free shared buff/cache available
Mem: 606688 429560 47016 17456 130112 71888
Swap: 2097148 0 2097148
再起動時の対応
echo "/swapfile swap swap defaults 0 0" >> /etc/fstab
以上になります。
関連する記事

[Rust]Google Cloud Storageを利用する
GCSやNFSのファイルを扱えるpackageをRustで実装しました。

CloudflareとGCSを組合せて安く静的ファイル配信サーバー(HTTPS)を構築する
CloudflareとGoogle Gloud Storageを組合せて安くHTTPS対応の画像配信の仕組みを構築しました

shell script(bash)を使って、GCSのファイルを再帰的に処理する
Google Cloud Storageの特定のbucketのファイルを全てコピーして、公開する必要があったので、bashスクリプトを作って対応しました

[Python3]Google Cloud Storage Clientの便利なラッパーを作りました
djangoのstorages.backends.gcloudを参考にしつつ、google-cloud-storageのラッパーを作りました