получить процессор по пользователю

получить процессор по пользователю

Работая с Monit, мне нужно создать оповещение, которое будет получать данные об использовании процессора пользователями системы, поэтому:

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

кажется хорошим решением, но я не уверен в надежности, потому что когда я делаю команду выше, каждый раз (очевидно) меняю значение. Итак, мне нужно "точное" использование процессора пользователем в течение 2-5 секунд, потому что ЗНАЧЕНИЕ будет отправлено как оповещение по электронной почте.

решение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]

Связанный контент