この日記は https://yapud.hatenablog.com/ に引っ越し中
2006-01-25
_ [Software] HotSaNIC で CPU のグラフが変なんですけど
Linux 上での HotSaNIC の CPU 使用率グラフ表示は /proc/stat から情報をもらって生成している。
以前の 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 |