我想计算Linux系统上基于百分比的CPU使用率。由于用户/环境不允许运行可执行文件,因此我不能使用top
等,而只能依靠/proc/stat
之类的“文件读取”。
目前,我根据/ proc / stat计算CPU使用率,如下所述:https://github.com/Leo-G/DevopsWiki/wiki/How-Linux-CPU-Usage-Time-and-Percentage-is-calculated
现在,我想验证从计算中获得的值。因此,我使用上面的公式并两次读取/ proc / stat,延迟了60秒,以获取超过1分钟的平均使用量。计算结果:
~1.492537%
然后我检查了/ proc / loadavg,它类似于:
3.27 4.11 4.66 2/1015 110208
该机器有两个CPU,每个CPU都有4个内核。因此,我的理解是,loadavg最多可以为8,因此3.27反映了约40%的使用率。
问题:为什么/ proc / stat计算出的使用量与/ proc / loadavg计算出的值之间的差异如此之大?