« Net-SNMPでリソース監視(メモリ使用率) | トップページ | Windows Vista のwinsxsについて »

2009年9月22日 (火)

Net-SNMPでリソース監視(CPU使用率)

net-snmpで監視する際にどのOID見ればいいのか?
ってのはよくあると思います。

そこで、今回はメモリ使用率に続いて、
CPU使用率について記載します。

そもそもCPU"使用率"ってなんでしょう??

これは、
CPUが使用されていた時間 / 一定時間
となり、ある一定時間のうちでCPUが使用されていた時間の割合となります。
これはよーく肝に銘じておいてください。
「今の一瞬でCPUが50%使われていた」
なんて言うことはできず、
「過去10秒間で5秒間使われていた」
=「過去10秒間のCPU使用率は50%」
という言い方しかできないのです。

そこで、LinuxでリアルタイムのCPU使用率を
とるにはどうすればいいかというと、
以下の場合で分かれます。単位は%です。

①net-snmpのバージョンが5.4.xの場合
ssCpuIdle(CPUがIdleだった割合)をとって100から引くのが無難です。

100 - ssCpuIdle

・ssCPUIdle(INTEGER)
.1.3.6.1.4.1.2021.11.11.0

②net-snmpのバージョンが5.3.x以下の場合
(2009/09/23時点でRedHat提供の最新版は5.3.xです)
ssCPURawxxを使用する必要があります。
これはCounter型なので、差分をとって取得時間で割ってやる必要があります。

( ssCpuRawUser + ssCpuRawNice + ssCpuRawSystem )
なんかを差分でとっていくか、

100 - ( 今回のssCpuRawIdle - 前回のssCpuRawIdle ) / CPUのコア数 / 取得間隔

といった計算が必要になります。
・ssCpuRawUser(Counter32)
.1.3.6.1.4.1.2021.11.50.0
・ssCpuRawNice(Counter32)
.1.3.6.1.4.1.2021.11.51.0
・ssCpuRawSystem(Counter32)
.1.3.6.1.4.1.2021.11.52.0
・ssCpuRawIdle(Counter32)
.1.3.6.1.4.1.2021.11.53.0

--
というのは、5.3系ではLinux専用のコーディングが実装されておらず、
ssCpuIdle、ssCpuUser、ssCpuIdleはシステム起動時からのCPU使用率となっているので、
実態とかけ離れた値しか取得できないのです。

ちなみに、5.4.x系でのCPU使用率が更新されるのは5秒間隔で、
取得できる値は5秒間隔のCPU使用率です。

この辺の挙動は、ソースの
cpu.c、vmstat_linux.cあたりを参照すると分かります。

Rawでとるのは計算が面倒なので、
よく分からない場合は5.4系にアップデートするのがよいですが、
商用の場合はRedHat等ディストリビュータのサポート要否のからみで
難しいかもしれません。

私の場合は①も②もあり、
②の場合はスクリプトで実装し、extOutputで取得しています。

参考)kernelとかいじっていない方はあまり気にしなくてもいいのですが、
実はssCpuRawXXXのカウンターは何ticksかをカウントしている値なので、
100をかけなくてもちょうど百分率になるのです。
1ticksは10msecのため、
XXX (ticks=10msec) / 取得間隔 (秒) × 100(%) という計算が、
XXX (秒) / 取得間隔(秒)ですむのです。

それでは~

« Net-SNMPでリソース監視(メモリ使用率) | トップページ | Windows Vista のwinsxsについて »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/526366/46282666

この記事へのトラックバック一覧です: Net-SNMPでリソース監視(CPU使用率):

» ユア メモリーズオフ〜Girl's Style〜 [ユア メモリーズオフ〜Girl's Style〜]
ユア メモリーズオフ〜Girl's Style〜の最新動画や評価レビュー、攻略情報なら「ユア メモリーズオフ〜Girl's Style〜」へ! [続きを読む]

» ユア メモリーズオフ〜Girl's Style〜 [ユア メモリーズオフ〜Girl's Style〜]
ユア メモリーズオフ〜Girl's Style〜の最新動画や評価レビュー、攻略情報なら「ユア メモリーズオフ〜Girl's Style〜」へ! [続きを読む]

« Net-SNMPでリソース監視(メモリ使用率) | トップページ | Windows Vista のwinsxsについて »

無料ブログはココログ