Google Cloud Platform (GCP) で提供されている「Compute Engine」の「e2-micro」インスタンスへswapメモリの設定を行います。
swapメモリが設定済みかどうかを確認
以下のコマンドを実行
free -h
「Swap:」の項目がすべて「0B」となっているので、swapメモリは設定されていない
total used free shared buff/cache available
Mem: 965Mi 745Mi 73Mi 43Mi 146Mi 51Mi
Swap: 0B 0B 0B
swapメモリの追加
swapメモリは物理メモリ(RAM)の1~1.5倍程度が適切なようです。
e2-microインスタンスのRAMは1GBなので、1.5GBのswapメモリを追加します。
swapファイルを作成
以下のコマンドを実行
sudo fallocate -l 1.5G /swapfile
swapファイルのパーミッションを変更
以下のコマンドを実行
sudo chmod 600 /swapfile
swapファイルを有効にする
以下のコマンドを実行
sudo mkswap /swapfile
sudo swapon /swapfile
swapファイルの設定の永続化
再起動後もswapメモリが有効になるように永続化します。
以下のコマンドを実行
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
追加されたswapメモリの確認
以下のコマンドを実行
free -h
「Swap:」の「total」が「1.5Gi」となっていれば適用されています。
total used free shared buff/cache available
Mem: 965Mi 305Mi 63Mi 1.0Mi 596Mi 519Mi
Swap: 1.5Gi 0B 1.5Gi
その後、時間をおいて再度メモリを確認すると、「used」が更新されていて、swapメモリが使用されていることが確認できました。
total used free shared buff/cache available
Mem: 965Mi 611Mi 64Mi 37Mi 290Mi 166Mi
Swap: 1.5Gi 114Mi 1.4Gi
swapメモリの無効化 & 再設定
「swapoff」で無効化
sudo swapoff /swapfile
メモリの状態を確認
free -h
「Swap:」の項目がすべて「0B」となっているので、swapメモリは無効化された
total used free shared buff/cache available
Mem: 965Mi 601Mi 68Mi 37Mi 296Mi 174Mi
Swap: 0B 0B 0B
この状態でswapを2GBへ増やしてみる
sudo fallocate -l 2.0G /swapfile
再度有効化
sudo mkswap /swapfile
sudo swapon /swapfile
メモリの状態を確認
free -h
「Swap:」の「total」が「2.0Gi」となっていれば適用されています。
total used free shared buff/cache available
Mem: 965Mi 604Mi 63Mi 37Mi 298Mi 171Mi
Swap: 2.0Gi 0B 2.0Gi
コメント