AWSのEC2でCPUが上がり502になる

サーバー開発
この記事は約2分で読めます。
スポンサーリンク

EC2を利用しdockerでWEBサーバーを運用していたところ、
VScodeでremoteアクセスしてコードを開いたり、
dockerでのコマンドを叩くとCPUが爆上がりしてSSHにアクセスできなくなると言った事象にぶつかった
低スペックなので仕方ないと思っていたが、どうも違ったらしい
コマンドを叩くなどしてCPUが上がり502になる場合、メモリの枯渇が考えられる。
dockerでコンテナを起動している場合、メモリの指定をしていないと最大限に利用するようだ
この状態で、別の何かをした場合メモリが許容量をオーバーしてしまう
そうするとOOM killerというやつが働き必要なメモリ量を確保するためシステムを運用する必要タスク以外を停止してしまうようだ
こいつの処理が走るタイミングでCPUが爆上がりするようだ

解決策としては
dockerのメモリを制御
swapメモリを設定する
この二つの方法がある
私は今回Swapメモリを追加することにした。EC2は初期でSwapメモリが0であった
メモリが1Gなのでswapメモリを1G用意したら無事に動くようになった
以下サイトを参考にした

https://qiita.com/nakamto/items/5e78e9caceeff6b9e2b4

EC2 Linux インスタンスで Apache サーバーのメモリを調整する
Amazon Elastic Compute Cloud (Amazon EC2) Linux インスタンスで実行されている Apache ウェブサーバーは、断続的に応答しなくなります。インスタンスのシステムログに、「out of memo...

コメント

タイトルとURLをコピーしました