- 论坛徽章:
- 0
|
目前要写个监控多个CPU使用率的脚本,我知道的有2中算法,不知道哪种才是正确或者准确的,请大家指教!
请大家看看我理解是否正确?
具体为:
1、我大概了解了下mpstat的源码,自己觉得它是这样实现的
读/proc/stat里的信息,取出idle,然后有个时间间隔,再取一次,共取了2次。
例如:
第一次:idle1
间隔 5 秒
第二次: idle2
那么空闲率就是: (idle2-idle1)/5
结果:测试后发现自己脚本和mpstat差不多
2、还有一种,好像是top的算法,还不确定
读取/proc/stat的信息,去各个cpu的之
1) 2.4.x
取出4个值:user、sys、nice、idle
第一次取: user1 sys1 nice1 idle1
间隔N秒
第二次取:user2 sys2 nice2 idle2
那么使用率为:
(1-(idle2-idle1)/((user2+sys2+nice2+idle2) - (user1+sys1+nice1+idle1)))*100%
2) 2.6.x 和2.4不一样,去除7个值进行计算
结果:测试后发现和top相差不大
我正在疑惑中,请大家帮帮忙,谢谢!
不知道哪种算法是正确或者更加精确的,请各位大师帮忙,再次谢谢了! |
|