一見すごく簡単そうなのに、ちょっとはまってしまったので記録。

システムがなんか変な時に、topコマンドをまず見てみる。
でも、遅い時がわかっているが、自分がその時にtopコマンドを実行できないなどという場合には、
topコマンドをバッチモードでしかも、cronで定期的に動かせばいい。

マニュアルを
http://www.linux.or.jp/JM/html/procps/man1/top.1.html
見ればわかるが、覚書のために自分が使う手順を載せておく。

top -n 1 -b

これで1回限り、TOPコマンドの結果が出力される。
したがって、これをcronで起動させればいいので、

*/10 * * * * top -n 3 -b > /tmp/top_`date +%H%M.txt`

のようにしておけば、10分毎に3回のTOPコマンドの結果を/tmpの下に保存しておける。
ちなみに、

`date +%H%M`

としているのは、あまり日ごとの結果を取っておいてもしかたがないとおもったので、
毎日同じファイルに上書きするためです。

ところが、あれ!?
書き出されない。
/var/log/message
をみると

top -n 3 -b > /tmp/top_`date +

ってなぜか、+以降表示されていない。
http://www.linux.or.jp/JM/html/cron/man5/crontab.5.html
をみると、”%”に特別な意味があるらしい。
“+”から特別な意味があるらしいとよんでしまってしまったので、ちょっとはまった。

次に、きちんとファイルはできたが中身がない。。。
しょうがないので、標準エラーを標準入力に出力されるようにしたら・・・・
TERMの変数がないとのこと。

結局、きちんと動くようにしたものは

*/10 * * * * export TERM=vt100;top -n 1 -b > /tmp/top.`date +\%H\%M`.txt 2>&1

これです。

結果でから問題が毎回見つかるようなプロセスがあれば、
さらに、プロセスIDから/proc/[プロセスID]の下を見ていけばもっと詳細な情報がわかる。

まあ、ここから先は実際に問題がtopコマンドで見れたら書いていくと思います。

お仕事のご依頼・相談を承ります
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら

Leave a Reply

お仕事のご依頼・相談
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら
ソフトウェア&ライブラリ




ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
執筆書籍
本、雑誌等

WEB記事:CodeZine
執筆記事はこちら
カレンダー
2010年1月
« 12月   2月 »
 123
45678910
11121314151617
18192021222324
25262728293031

カスタム検索
RSS
Add to Google < !–adsense–>
アーカイブ
カテゴリ
にほんブログ村 IT技術ブログへ