按用户获取cpu

按用户获取cpu

使用 monit 我需要创建一个警报来获取系统用户的 CPU 使用情况,因此:

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

似乎是一个很好的解决方案,但我不确定是否可靠,因为当我执行上述命令时,每次都会更改(显然)该值。因此,我需要用户在 2-5 秒内“准确”使用 cpu,因为 VALUE 将像电子邮件警报一样发送。

答案1

尝试这个

ps -eo pcpu,pid,user,args | sort -k 1 -r | head -5

输出会像

%CPU   PID USER     COMMAND
0.6 18695 mysql  /usr/sbin/mysqld
0.1   961 root     [kdmflush]
0.1   937 root     [kdmflush]
0.1  1025 root     [jbd2/dm-2-8]

相关内容