我必须在我的应用程序上显示CPU使用率并实时更新它。我使用top命令来获取CPU使用率,即

我将突出显示的两个值相加,以获得CPU使用率。我用来添加突出显示的值并获得最终CPU使用率的命令是:
top -b -n 2 | grep Cpu | awk '{printf "CPU Load:%.2f\n", $(NF-13) + $(NF-15)}' | sed -n '2 p'问题是,此命令在一段时间后停止工作,即3-4分钟后,我确实获得了CPU使用率,但在此命令不处理之后,我没有获得更新值。我在一个循环中运行这个命令。
任何帮助都将不胜感激。
发布于 2020-05-04 19:49:52
我使用类似的脚本已经有一段时间了:
top -bn2 | grep Cpu | tail -n1 | sed -e 's/.*, *\([0-9.]*\)%* id.*/\1/' | awk '{print 100-$1}'该脚本从顶部输出中提取“空闲”时间,并从100%中减去它,以获得cpu使用率。
调用脚本的循环周期不应快于脚本完成所需的时间。否则,你可能会得到多个'top's并行运行。这主要取决于你系统上的'top‘默认延迟,在我的系统上,它大约是5s,但你可以用-d开关来设置。
https://stackoverflow.com/questions/61590285
复制相似问题