我想知道如何获得系统CPU使用率,例如使用bash以百分比表示。
样本输出:
57%
如果有多个核心,则可以计算平均百分比会很好。
1
@julesanchez该值需要通过其他方式传递,因此它必须是int
—
user1199739 2012年
做top> myfile.txt并在后期处理中应用过滤器,这样不好吗?
—
JuSchz 2012年
不需要sysstat的命令:
—
RF
ps -A -o pcpu | tail -n+2 | paste -sd+ | bc
重新打开我不明白为什么这被认为是题外话,关闭它的人是否可以在意?
—
乔纳森H
我的理解
—
Yeti
/proc/stat
非常有限,但是这种单行代码对我来说已经足够好了:cat <(grep 'cpu ' /proc/stat) <(sleep 1 && grep 'cpu ' /proc/stat) | awk -v RS="" '{printf "%.2f%\n", ($13-$2+$15-$4)*100/($13-$2+$15-$4+$16-$5)}'
。使用%.2f,您可以控制要输出的小数位数,sleep 1
还可以设置要求平均的时间,即,如果它达到了我的预期。您可以将其放在bash while循环中,以进行实时测试。