skillup

技術ブログ

サーバー・ネットワーク

サーバーの過負荷の発見 メモリ使用率の調査&抽出、置換(awk,sed)コマンドについて

投稿日:2016年3月30日 更新日:

前回、サーバーの負荷調査について記事を書いたので、それに関するスクリプトを。

仕様

日付とメモリ使用率、スワップ領域使用率を抽出し、ログに吐く

ソース

参考リンク

【システム運用改善】Linuxサーバのメモリ監視を簡単に自動化しよう!

PHPスクリプト1つでできる簡単サーバ監視

出力結果 2016/03/30-20:08:38  77.25%  2.30%

解説

freeコマンド

前回、topコマンドについて書きましたが、メモリ使用率だけを正確に見たい場合、freeコマンドが便利です。

サーバー監視のコマンドは5~6種類あるようなので用途に応じて使い分けましょう。

ものすごく大まかにいうとused/totalが近似的な値になりますが、正確には違います。

(メモリの場合cachedやbufferが関わってきますので数式で若干の調整が必要。)

各コマンドの特性とfreeコマンドの原理などについて

減り続けるメモリ残量! 果たしてその原因は!? (1/3)

減り続けるメモリ残量! 果たしてその原因は!? (2/3)

linuxで空きメモリがどんくらいあるか確認する方法

Linuxサーバの負荷や使用率を調査するコマンドと手順

awk

スペースやタブ区切りのデータを扱うときに、大変便利なコマンドです。

数値が並んでいたときに任意の行だけを取り出すことができます。

上記は非常に簡単な例ですが、特定の数字だけを取り出して加減乗除するときなどに便利です。

sed

置換の時に便利なコマンドです。

今回のソースでは小数点第2位以下を切り捨てるために使っていますが通常は一般的な文字の置換に使われることがおおいかと思います。

一般的な正規表現と大体同じなんですが、メンドクサイところとしては(や{などの時にも\(バックスラッシュ)が必要になります。そのためにソースコードがやや冗長になっています。

sedの置換ルール

日経XTECH【 文字列を置換する「sed」 】

文字列から特定の文字を抽出する – Linux シェルスクリプト プログラミング

シェルスクリプトの日付処理に関して

UNIX & Linux コマンド・シェルスクリプト リファレンス 日付を取得する

-サーバー・ネットワーク
-, , , ,

執筆者:


comment

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

関連記事

no image

zabbixについて 

現在、携わっているプロジェクトでサーバー監視をする必要性がでてきたので、監視ツールについていろいろ調べとります。 Contents1 サーバー監視とは2 サーバー監視ツールとは3 おおまかなイメージ4 …

no image

webサーバーのログの見方

サーバー監視の基礎となるWebサーバーのログ(主にApache)の見方について少し書いてみようと思います。Apacheで解説しますが、nginxでもほぼおなじです。 Contents1 モジュール読み …

no image

S3 commandPoolについて

S3のcommandPoolに関して。 S3にファイルをアップロード、ダウンロードするときに、1つ1つファイルをアップロード、ダウンロードすることが一般的かと思いますが、ファイル数が多くなるとなかなか …

no image

ansible localでの使用,sudoに関して

最近継続的に調査しているansibleについて Contents1 local2 sudo local ansibleは通常別のホストに対して行うものですが、 hostsファイルのIPを変更し、以下の …

no image

Dockerでのredis活用(redisinsightなどについて)

引き続きdockerネタですがredisを使ったネタに関して。 redis自体は以前のエントリーでも説明しましたが、一般的なキャッシュサーバーかと思います。 今回はredis自体の説明ではなくdock …