updated on 2019-07-26
メモリ不足が原因ですので、メモリを増やしてあげれば解決するのですが、EC2の物理メモリはインスタンスタイプ毎に決められているので物理メモリを増やすことはできない。
そこで、LINUXのしくみで、ディスクをメモリ代わりに使用する仮想メモリというものを追加
fallocate -l 512M /swapfile
これで仮想メモリとして使うスワップファイルを確保します。-l の後には追加する大きさを指定します。
chmod 600 /swapfile
スワップファイルのアクセス権を設定
mkswap /swapfile
仮想メモリとして使うファイルとして指定
swapon /swapfile
仮想メモリを有効にします
以上の手順で swapon failed: Invalid argument というエラーが出てしまう場合は以下の手順をお試しください
まず、先ほど作成した swapfile を削除します。その後以下のコマンドラインを入力してください。(fallocate を dd に変えただけです)
dd if=/dev/zero of=/swapfile count=512000 bs=1K
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
仮想メモリの追加完了!
以上の操作がエラーなく終わったら改めて yum update
無事にアップデートが完了しました。
仮想メモリの大きさは自由に変更できますので、上記のコマンドの512の部分を適切な数値に変更してお試しください。