[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:75916] Re: CPU 使用率の標準出力


村松です。

Sat, 11 Nov 2000 03:06:53 +0900 に書かれた
negi _at_ KU3G.org (おおつかまさひと) さんのお返事です。

 > おおつかです
どうもです。

 > mrtg-2.9.4 の contrib に cpuinfo というディレクトリがあって,そ
 > こにあるスクリプを使うと CPU 使用率を取れるような気配です。
 > sysstat というツールで CPU 使用率を取っているような感じ。
をぉ、そんなもんがあったのか

私が使ってたのは mrtg-2.9.0pre29 でしたので、こういうものは
付いてませんでした。
早速試してみます。

ちなみに、スクリプトでの解決はなんとかできました。
こんな感じです。

■ User %CPU を取るスクリプト
------------------------------------------------------
#!/bin/sh

wTotalOld=`awk {'print($2 + $3 + $4 + $5)'} /tmp/cpustat`
wTotalNew=`cat /proc/stat | sed -n 1p | awk {'print($2 + $3 + $4 + $5)'}`
rTotal=`echo | awk {'print(a - b)'} a=$wTotalNew b=$wTotalOld`

cat /proc/stat | sed -n 1p >> /tmp/cpustat

wCpu=`awk {'print(x = (x - $2) * -1)'} /tmp/cpustat | sed -n 2p`

cat /proc/stat | sed -n 1p > /tmp/cpustat

wResult=`echo | awk {'print (cpu / Total)'} cpu=$wCpu Total=$rTotal`
rndTotal=`echo | awk {'print (Total + 0.00005)'} Total=$wResult`
intTotal=`echo | awk {'print int(round * 10000)'} round=$rndTotal`

echo | awk {'print(iTotal / 100)'} iTotal=$intTotal
------------------------------------------------------

この方法は、/proc/stat から値を持ってくる方法で、これとは
別に、top から値を持ってくるスクリプトも作ってみました。

上記スクリプトと同様の方法で System %CPU の値も取れる
ようにして、snmpd.conf の exec パラメータにこのスクリプトを
指定してやったら、.1.3.6.1.4.1.2021.8.1.101 から値を取得
できるようになりました。

以上、お世話になった皆様、本当に有り難うございました。
またこれからも宜しくお願い致します。

-----------------
Kengo Muramatsu
System Solution Group
Global Com Service Co., Ltd.
Phone : +81-3-5765-8070
FAX : +81-3-5765-8069
E-mail : muramatsu _at_ glcom.co.jp
HTTP : http://www.glcom.co.jp

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
References: