yayawei 发表于 2003-5-29 15:51:02

请教/stat数据怎么计算cpu利用率?

两个问题:
1。/proc/stat中的关于cpu利用率:
            cpu139242 3367 14152 16989586
                  cpu0 139242 3367 14152 16989586
   我知道这四个数据分别是usernice system idle的,但是怎么算利用率呢?

2。这个/stat文件是怎么更新的?多长时间写入一次数据呢?


谢谢

jjww 发表于 2003-5-29 21:21:02

我想这个很容易获得吧,内核里都有相关的统计变量,只不过我不知道linux的具体变量名称是什么。 :oops:

yayawei 发表于 2003-5-29 21:33:55

:(说具体点就好了

Dragonfly 发表于 2003-5-29 22:02:25

can u find iostat or mpstat code to read it? u will gain more.
if u get
user1 system1 nice1 idle1
user2 system2 nice2 idle2

then (idle2-idl1)/[(idle2-idle1)+(user2-user1)+(nice2-nice1)+(system2-system1)] is the idle rate, am i right?

when u read stat, it will check kernel variables. the value in kernel variables are kept changed.

yayawei 发表于 2003-5-29 22:47:24

user1 system1 nice1 idle1
user2 system2 nice2 idle2
这是指两次测得的值么?如果我想测上一秒的cpu利用率,是不是就是隔一秒读一次stat得到上述的值,然后用你说的方法就可以了?

cpu 139242 3367 14152 16989586 里面的数字到底什么意思啊?
是不是从你上次查看stat文件(因为你不是说查看一次改变一次么?)到这次的cpu时间的统计?

谢谢指点。

Dragonfly 发表于 2003-5-29 22:50:39

yes, u read it every one second and check the difference.

it change when u read it. but i do not mean it is the value since last read, it is teh value since u boot.

fist 发表于 2003-6-3 20:07:46

这个/stat文件是怎么更新的?多长时间写入一次数据呢?
---files in proc fs will not exist util we want to read it.

Dragonfly 发表于 2003-6-4 09:44:48

nod, read the procfs doc can let u know how it works
页: [1]
查看完整版本: 请教/stat数据怎么计算cpu利用率?