joppot

コピペで絶対動く。説明を妥協しない

ec2のメモリ状態をwatchとfreeで監視する

      2017/03/25

Pocket


概要

みなさんこんにちはcandleです。今回はec2のメモリをリアルタイムで監視する方法を紹介します。
ec2サーバはt2.microだとメモリが1GBしかなく、その上でcomposerやrails、mysqlを動かすとメモリーがカツカツになることがあります。

そんな時、メモリを監視して、サーバをチューニングできれば便利です。


前提

適当なEC2サーバがある

SPONSORED LINK


メモリを監視するfreeコマンド

現在のメモリの状態を表示するコマンドは「free」です。
試しに、実行してみましょう。

free

tatalで1GBあり、300MBほど使われているのが分かります。
freeコマンドだけでは、常に状態を監視し続けることはできません。

watchコマンドとの組み合わせ

そこで、watchコマンドと組み合わせて、表示してみましょう。
watchコマンドは一般に以下のように使います。

watch -n 間隔 繰り返したいコマンド

例えば、1秒ごとに freeを実行したい場合は以下のようにします。

watch -n 1 free

しばらく見ていると、usedやfreeの値が変わります。
終了したい時はctrl + cで終わります。

変更された箇所に色をつける -d フラグも便利です。

watch -n 1 -d free



関数にしておく

よく使う場合は関数にしておくと便利です。
.bash_profileを開いて、以下を記述します。
lfはloop freeの略です。

function lf(){
  watch -n 1 -d free
}

保存したら、.bash_profileを読み込み

source ~/.bash_profile

lfコマンドを実行すると、メモリの監視ができます。

lf



まとめ

サーバの様々な場面で使用できるでしょう。

 - サーバ