- PR -

一定間隔での起動

1
投稿者投稿内容
francis
会議室デビュー日: 2003/07/30
投稿数: 17
投稿日時: 2003-07-30 15:19
例えば、Cかなにかで作ったプログラムを動かします。
で、動いている間のCPUの負荷なんかを調べたいとします。
$ vmstat
だと思いましたが。

そのCPUの動きを5秒毎に採取したいとき、vmstatを5秒毎に起動する方法は無いですか?

いろいろ調べたのですが、解りません。
今すぐ使いたいというわけではないのですが、疑問に思い、投稿させていただきました。

_________________
francis
会議室デビュー日: 2003/07/30
投稿数: 17
投稿日時: 2003-07-30 15:31
自己レス

解決しました

vmstat 時間(秒)

でしたね。

ごめんなさい
t-wata
大ベテラン
会議室デビュー日: 2002/07/12
投稿数: 209
お住まい・勤務地: 東京
投稿日時: 2003-07-30 16:49
vmstatの場合は、コマンド自体が定期的に実行できるようになってますが、
そうでない場合は、スクリプトを書けば対処できます。Linuxの場合だと、

#!/bin/sh
if [ $# -lt 3 ]; then
echo "USAGE: periodicjob COUNT INTERVAL 'COMMAND [COMMAND_OPTION]'"
exit 1
fi
MAX_COUNT=$1
INTERVAL=$2
shift 2
for COUNT in `seq 1 ${MAX_COUNT}`; do sleep ${INTERVAL} ;eval $* ;done

見たいなスクリプトをperiodicjobとかいう名前で保存して、例えば1秒ごと10回、現在のプロセス数を数えたいなら、

./periodicjob 10 1 'echo -n Number of process is : ;ls -d /proc/[0-9]*|wc -l'

とかでいけます。回数を指定したくないなら、forの代わりにwhile trueにすると良いです。


[ メッセージ編集済み 編集者: t-wata 編集日時 2003-07-30 16:50 ]

[ メッセージ編集済み 編集者: t-wata 編集日時 2003-07-30 16:51 ]
まりり
ぬし
会議室デビュー日: 2001/12/05
投稿数: 329
投稿日時: 2003-07-30 16:56
1分単位でよければcronもありますね。
francis
会議室デビュー日: 2003/07/30
投稿数: 17
投稿日時: 2003-07-30 17:46
t-wataさん、ありがとうございました。
要は引数を時間として拾うような処理をすればOKなんですね。

まりりさんもありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)