每个用户的 CPU 使用率

每个用户的 CPU 使用率

当我输入时,lscpu我可以读取我们服务器上的 CPU 数量 (56)。我们有几个人在这个服务器上工作,我想看看每个用户使用了多少个 CPU。

当我运行时,top我可以看到每个进程的总使用量,有没有办法按用户分组?我感觉一个用户在她的程序中调用了太多的 CPU,这减慢了我的工作速度。

答案1

您可以按如下方式设置排序字段top

  1. 点击f进入田间管理界面 顶级现场管理
  2. 使用箭头键选择USER字段 顶级用户选择
  3. 点击s选择它
  4. 点击ESC返回主top屏幕

或者,您可以直接top使用-u参数来选择特定用户的进程,例如top -u steeldriver

答案2

首先运行这个: USERNAME="abcd" while true; do echo $(date +%Y-%m-%dT%H:%M:%S)","$(top -b -n 1 -u "$USERNAME" | awk 'NR>7 { sum += $9; } END { print sum; }');sleep 5; done|tee cpuusage.csv

然后您可以使用 dygraph 显示使用情况。在这个例子中,我有 8 个 CPU - 所以最大使用率为 800%。

CPU 使用情况示例

您可以在此处下载此示例:true-informatics.de/cpuusage.zip 使用该代码风险自负!

相关内容