Onagi です。 前田さん、早速のご返答ありがとうございました。 man proc に情報があったのですね。見落としてました。 ご報告いただいた内容から判断すると、今回は /proc/stat を 見たほうがよさそうです。 起動以来の消費時間ですと、「ある時間内のCPU負荷率」を得る為には 前回値との差分を取る必要がありますね。 最新の… a:起動以来ユーザモードで消費した時間 b:ユーザモード(低優先度)で消費した時間 c:システムモードで消費した時間 d:アイドルタスクで消費した時間 n秒前の… A:起動以来ユーザモードで消費した時間 B:ユーザモード(低優先度)で消費した時間 C:システムモードで消費した時間 D:アイドルタスクで消費した時間 とすると total = (a-A)+(b-B)+(c-C)+(d-D) 負荷率 = ((a-A)+(b-B)+(c-C)) / total * 100 [%] になりますでしょうか。 MAEDA Atusi wrote: > > MAEDA Atusi <maeda _at_ is.uec.ac.jp> writes: > > > Onagiさんがお望みの0〜100%の値は、ある期間のうちCPUがidleでなかった期 > > 間の割合でしょうか? もしそうだとすると、/proc/loadavgの情報から直接求 > > めることはできません。/proc/loadavgを定期的にサンプリングしてrunningプ > > ロセス数が0でなかった割合を計算すれば(ユーザプロセスのCPU時間について > > は)算出できると思います。runningなプロセス数が0でもカーネル内でCPUを使っ > > ていることはあり得ますが... > > この情報を得るには/proc/stat のcpuの行を見た方が良さそうですね。 > > man procすると出て来ると思いますが、cat /proc/statして出て来る内容の中に > > cpu 1359351 0 157137 10162406 > > なんていう行があります。4つの数字は左から、起動以来ユーザモードで消費 > した時間、ユーザモード(低優先度)で消費した時間、システムモードで消費し > た時間、アイドルタスクで消費した時間を、それぞれ1/100秒単位で表したも > のです。 > > 前田敦司
References:
- [fol] /proc/loadavg についてh-onagi
- [fol] Re: /proc/loadavg についてMAEDA Atusi
- [fol] Re: /proc/loadavg についてMAEDA Atusi
- Prev by Date: [fol] Re: PPP 接続方法についての質問
- Next by Date: [fol] XIM and XFree86 3.9.17 on Linux
- Previous by thread: [fol] Re: /proc/loadavg について
- Next by thread: [fol] i810 + DJNA-351010 cannot set DMA
- Indexes:[Main][Thread]