...pudding - diary

この日記は https://yapud.hatenablog.com/ に引っ越し中


2006-01-25

_ [Software] HotSaNIC で CPU のグラフが変なんですけど

Linux 上での HotSaNIC の CPU 使用率グラフ表示は /proc/stat から情報をもらって生成している。CPUのグラフ

以前の Kernel は /proc/stat の CPU 情報として

・user: normal processes executing in user mode

・nice: niced processes executing in user mode

・system: processes executing in kernel mode

・idle: twiddling thumbs

の4項目を出していて、HotSaNICもコレに従って情報を取得している。

ところが最近のカーネルは、さらに以下の3項目を追加で出している。

・iowait: waiting for I/O to complete

・irq: servicing interrupts

・softirq: servicing softirqs

これらの項目はどうやら idle の中から別立てにされたようで。

以前は CPU が暇なのはとにかく idle だったのが、マジで暇なのか待ちで暇なのかをわけて教えてくれるようになったようで。

このままだと HotSaNIC 上では時々とんでもないグラフができてビビる。iowait が多かった時なんか特に。

とりあえず以前と同じようなグラフを出すには modules/system/platform/linux.pm の60行目あたり、cpu の情報を取得してるところで取得する変数を増やす。

($cpu, $cpu1, $cpu2, $cpu3, $cpu4, $cpuiowait,$cpuirq,$cpusoftirq)=split;

そして、64行目あたり、idle の数字を格納してるところで、iowait、irq、softirq を idle に足しちゃう。

$cpu4{$cpu}=0+$cpu4+$cpuiowait+$cpuirq+$cpusoftirq;

やっつけだけど。

ホントはグラフ内に iowait、irq、softirq の値も追加して出したいのだけど面倒なのでまたの機会に。


2006年
1月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Twitter : @moriya_jp