AWS EC2 t2.microにスワップ領域を設定する方法

シェアしていただけるとうれしいです

仕事で、AWS EC2のAmazon Linuxで動いているお客さんのWebサイトを管理しています。

コンテンツを編集したときの表示確認や、Amazon Linux、Apache/PHPなどのミドルウエアのバージョンアップのテストなどのために「テスト環境」としてもう一つEC2を借りてもらいました。

本番環境と同じプランを申し込むのは料金的にもったいないので、最低限のt2.microを契約してもらいました。

ディスク容量はt2.microの8GBではぜんぜん足りないので、100GBにしてもらっています。

商品マスタなどのデータを基幹システムと同期をとるプログラムをPHPで作ってあるんですが、このプログラムの実行時に約1.2GBのメモリを食います。

t2.microの物理メモリ容量は1GB。物理メモリだけではOut Of Memory(メモリが足りない)というエラーが出て同期のプログラムが動いてくれません。



EC2はスワップメモリがない?!

いままでさんざんtopコマンドでメモリの使用量を見てきたはずなのですが、よくよく見てみると、スワップメモリの容量が0でした_(:3」∠)_

今更、

まろ
メモリ容量の大きいプランに変更して!

ってお客さんにも言い出しにくいですし、なんとかスワップ領域を設定することで回避できないかと調べてみたら、こちらの記事に行き当たりました。

AWS Amazon Linux スワップファイル作成によりSwap領域のサイズを増やす - Qiita
はじめに === AWSのEC2インスタンス(Amazon Linux)に対して、スワップファイルを作成して、Swap領域のサイズを512MBに増やす手順です。 ``` # dd if=/dev/zero of=/swapfile...

この記事のとおりにやってみたら簡単にスワップ領域が作成できましたので、自分メモとしてこの記事を残しておきます。

AWS EC2 t2.microにスワップ領域を設定する方法

まずは、本当にスワップ領域がないのか調べてみます。

確かにないです。

では、先程の記事を参考に、少し大きめですが、5GBのスワップ領域を作成します。

まずはスワップファイルを作成します。

作成したスワップファイルをrootだけが読み書きできるようにします。(これをしないと、スワップ領域としてフォーマットしたときに警告メッセージが表示されました)

作成したスワップファイルをスワップ領域としてフォーマットします。

スワップ領域を有効化します。

スワップ領域が増えていることを確認します。

これで同期のプログラムが無事に動きました。

めでたしめでたし٩( ‘ω’ )و

いわゆる「画像直リンク」、画像の複製は固くお断りいたします。
スポンサーリンク

シェアしていただけるとうれしいです

フォローよろしくお願いします

関連記事



スポンサーリンク