joppot

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

サーバ

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

投稿日:2017年3月13日 更新日:



概要

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

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


前提

適当なEC2サーバがある


メモリを監視する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



まとめ

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

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-サーバ
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

td-agentでRails 4のproduction.logを取得する

English 日本語 概要 みなさんこんにちはcandleです。今回はrails 4のproduction ログをtd-agentで取得してみたいと思います。 数年前にも同じ記事を書いたのですが、説 …

vagrantで取得したlet’s encryptのssl証明書をec2のnginxで使用する

概要 みなさんこんにちはcandleです。今回は取得したvagrantのubuntuで取得したlet’s encryptを実際に使用してみます。 もしも、まだ取得してない人は前回の記事を確 …

awsのec2上でredmineをnginxで使用する方法

概要 みなさんこんにちはcandleです。今回はredmineをec2上で使用する方法を紹介します。 redmineはrailsで作られたwebアプリケーションです。railsで作られているということ …

fluentdのs3 pluginを使用して日付区切りでログデータをS3に送信する

概要 みなさんこんにちはcandleです。今回はfluentdのs3プラグインを使用して、railsなどのログを日単位でS3に投げる方法を紹介します。もちろん、応用して年単位とか月単位、時間単位で区切 …

ruby on railsのckeditor gemをapacheのproductionの本番環境で動かす

概要 みなさんこんにちはcandleです。今回はckeditorを本番環境で動かしてみたいと思います。 とは言っても基本的な記述はdevelopment環境と同じなので、そこまでは前回の記事を参照お願 …


ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー