yum updateでメモリ不足、スワップファイルで解決

  • AWS
  • EC2
  • Linux

この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。

何が起きたか

小さめのインスタンスで yum update を叩いたらメモリ不足でエラーになった。メモリを増やす前に、まずスワップ領域を確保して様子を見ることにした。

対応

スワップファイルを作る

dd if=/dev/zero of=/swapfile count=512000 bs=1K

count=512000 bs=1K なので約500MB。もっと必要なら数値を調整する。

dd は確実だけど遅いので、ファイルシステムが対応していれば fallocate -l 500M /swapfile の方が速いらしい(今回は未確認)。

パーミッションを変更

chmod 600 /swapfile

他ユーザーから読めないようにしておく。

スワップとしてフォーマット

mkswap /swapfile

有効化

swapon /swapfile

ここまでで yum update は通るようになった。

確認コマンド

swapon --show
free -h

free -h でSwapの行にサイズが出ていればOK。

再起動後も有効にする場合

上の手順だけだと再起動でスワップが消える。永続化するなら /etc/fstab に以下を追記する。

/swapfile swap swap defaults 0 0

補足

スワップで一時しのぎはできるけど、根本的にはメモリが足りていないということなので、頻発するようならインスタンスタイプの見直しが必要になりそう。