如何从顶部获取CPU利用率?

时间:2016-06-16 18:10:28

标签: linux unix

如何在特定用户上运行top命令获取CPU利用率?

1 个答案:

答案 0 :(得分:1)

top传递给awk并添加CPU利用率列:

top -b -n 1 -u username | awk 'NR>7 { sum += $9; } END { print sum; }'

awk命令显示“对于大于第7行的行(从顶部开始),将字段9 $9中的数字相加,并将其存储在变量sum中。一旦你走了通过管道top命令中的所有行,打印出变量sum中的值。

如果-u标志在您的系统上无效,您可以使用NR>7条件坚持用户名搜索:

 top -b -n 1 | awk 'NR>7 && $2=="root" { sum += $9 } END { print sum }'

如果您想打印顶部列出的每个用户使用的百分比,您可以查看第二个条件并将总和切换为数组:

 top -b -n 1 | awk 'NR>7 {users[$2]+=($9)} END {for(user in users){print user,users[user]}}'

最后一件事。我认为cpu百分比可能需要除以系统中的核心数。就像......我相信这里可能会看到一个大于100的数字。