質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

解決済

1回答

1570閲覧

EC2にてメモリーリークが発生しておりますが、どのプロセスが問題なのかがわかりません

prr4e

総合スコア73

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

0グッド

0クリップ

投稿2020/01/16 09:40

当方、t3.mediumにてEC2一台立てて稼働させてます。
WEBシステムよりアクセスし、軽微な処理であればサクサク動くのですが、
少し重い処理になると、途端にメモリーリークが発生します。

メモリリークが発生しているかどうかは、topコマンドを叩いた際に
アラートがでたのでわかったのですが、
phpなのかDBなのかなど、どの処理でメモリーリークが発生でしているかがわかりません。

メモリーリークが発生する前にtopコマンドでプロセスの詳細を確認したのですが、
発生した段階で、topコマンドの内容が更新されなくなりました。

メモリーリーク発生時点でもコマンドでリアルタイムに、プロセスを特定できるものでしょうか。

インフラの知識がほぼないため、お手数ですが教えていただけると幸いです。
※freeコマンドにてメモリが足りないことは明らかである確認済みです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

scsi

2020/01/16 10:16

この件、メモリリークという言葉であってます?
guest

回答1

0

ベストアンサー

一番簡単なのは、インスタンスタイプを一時的にメモリが馬鹿でかいものに変更して確認してみることでしょうか。

他だと、OSにswapが設定されていないorサイズが小さいのであれば、数十GB程度指定すれば、遅くはなりますがシステム自体は死なないので状況が確認出来ます。

あとは、php,MySQLそれぞれの使用可能メモリを順番に制限してみて判断

あたりがお手軽でしょうか。


プロセスだけ分かっても解決は難しいので、
私なら
webサーバのアクセスログとMySQLのslowqueryから、再現方法にあたりをつける

ソースの怪しいところにデバッグログを吐くように仕込むという感じで特定という感じで特定すると思います。

投稿2020/01/16 09:54

編集2020/01/16 10:05
tanat

総合スコア18713

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

prr4e

2020/02/11 09:03

返答が遅くなってすみません。 EC2のインスタンス自体にsawpが設定されていないかったので、 1G程度のswapを作成して、一旦はシステムが落ちない状態にしました。 ありがとうございました。
tanat

2020/02/11 09:28

フィードバックありがとうございます。 swapが設定されてなくてメモリ不足→即死はありがちですね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問