skillup

技術ブログ

サーバー・ネットワーク

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

投稿日:

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

仕様

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

ソース

参考リンク

http://magazine.re-web.org/memory-limit-check/

http://blog.asial.co.jp/486

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

解説

freeコマンド

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

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

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

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

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

http://www.atmarkit.co.jp/ait/articles/0810/01/news134.html

http://www.atmarkit.co.jp/ait/articles/0810/01/news134_2.html

http://d.hatena.ne.jp/kasei_san/20121211/p1

http://easyramble.com/linux-command-to-check-status.html

awk

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

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

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

sed

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

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

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

sedの置換ルール

http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/231161/

http://program.station.ez-net.jp/special/handbook/sh/variables/sed.asp

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

http://shellscript.sunone.me/date.html#日付のフォーマットを指定する:26894f48f2b47b2b978e3b6ec280820a

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

執筆者:


comment

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

関連記事

no image

シェルスクリプトテキストファイルから配列&プロセス監視シェル

またまたシェルスクリプトネタなどを。 今回はtxtファイルの文字列を読み込んで配列に入れる処理ですね。 例えば aaa bbb ccc こんな文字列がテキストファイルに格納されていたとして、これを配列 …

no image

大規模Webサービス技術入門 DBの分散

前回に引き続き、大規模サービスを運用するときに必要になるMySQLの知識についてのまとめ Contents1 テーブル・SQL設計2 レプリケーション機能3 パーティショニング テーブル・SQL設計 …

no image

ログ抽出コマンド特集 その2 シェルスクリプトの算術計算、配列とループ

前回の続きですが、ログを収集し、分布(80%台が~%、70%台が~%)を出したいとします。 Contents1 ロジック2 ソース3 気づいたこと4 参考リンク ロジック ロジックは以下のような流れに …

no image

ファイル一括検索 xargsを利用した置換

実務でよくあるファイル一括置換。 sedに関しては以前も触れましたが使用範囲は多いですね。

ちなみにオプションがすごく大事でxargs …

no image

システム監視の基礎

システム監視のルールがほとんどないので、ちょっと勉強中です。 Contents1 危険率の判定2 参考文献 危険率の判定 今まで一番知りたかったことがこれなんですね。例えばシステムに負荷がかかっている …