我正在尝试计算使用bash的单个CPU,Ubuntu系统的整体CPU利用率。我需要一个系统监视脚本的整体CPU使用率百分比。问题是,当我使用下面的代码的CPU利用率百分比始终是相同的:如何有效使用bash来计算CPU利用率?
top -n 1 | grep "Cpu"
我发现另一种方法是使用下面的代码:
read cpu a b c previdle rest < /proc/stat
prevtotal=$((a+b+c+previdle))
sleep 0.5
read cpu a b c idle rest < /proc/stat
total=$((a+b+c+idle))
CPU=$((100*((total-prevtotal) - (idle-previdle))/(total-prevtotal)))
echo $CPU
的问题与此代码我不知道它是否完全准确。我有几个问题......首先为什么第一个代码失败?其次,第二个代码是否可靠?如果不是,我可以使用哪些代码来获得系统总体CPU利用率的可靠读取?谢谢!
我不知道我是否做错了什么,但是当我这样做的时候:'虽然是真的;做; mpstat的;完成;'即使我正在运行多个进程,我也始终获得相同的CPU利用率值。 – Lynx
好吧,现在我发现如果你用任何参数运行mpstat命令,输出是无稽之谈......它必须像这样使用'mpstat 1 1' – Lynx