使用 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]