monit을 사용하여 시스템 사용자의 CPU 사용량을 가져오는 경고를 생성해야 합니다.
top -b -n 1 -u user1 | awk 'NR>7 { sum += $9; } END { print sum; }'
좋은 해결책인 것 같지만, 위 명령을 실행할 때마다 값이 (분명히) 매번 변경되므로 신뢰할 수 있는지 확실하지 않습니다. 따라서 VALUE가 이메일 경고처럼 전송되므로 사용자가 2~5초 내에 CPU를 "정확하게" 사용해야 합니다.
답변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]