Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- IFS='|'
- processes=${processes:="apache2|transmission-da|Plex New Transc|Plex Media Serv|Plex DLNA Serve|python|smbd|munin-graph"}
- #processes=${processes:="transmission-da"}
- if [ "$1" = "config" ]; then
- NCPU=$(egrep '^cpu[0-9]+ ' /proc/stat | wc -l)
- PERCENT=$(($NCPU * 100))
- if [ "$scaleto100" = "yes" ]; then
- graphlimit=100
- else
- graphlimit=$PERCENT
- fi
- # SYSWARNING=`expr $PERCENT '*' 30 / 100`
- # SYSCRITICAL=`expr $PERCENT '*' 50 / 100`
- # USRWARNING=`expr $PERCENT '*' 80 / 100`
- echo graph_title CPU usage by process
- echo graph_args --base 1000 --lower-limit 0 --upper-limit $graphlimit
- echo graph_vlabel %
- echo graph_category processes
- echo graph_info This graph shows the cpu usage of several processes
- #
- #use this to get process names for labels
- #
- proclist=$( for proc in $processes; do
- echo "$proc.$proc"
- done)
- #get proc name + .label
- echo $proclist | awk -F. '{gsub(/[ -]/, "", $1); print$1".label "$2} '
- #get proc name + .info
- echo $proclist | awk -F. '{gsub(/[ -]/, "", $1); print$1".info "$1} '
- else
- #
- #use this to get process cpu % value
- #
- TMPFILE=`mktemp -t top.XXXXXXXXXX` && {
- top -b -n2 > $TMPFILE
- topcount=$(awk 'END{print NR}' $TMPFILE)
- tophalf=$(expr $topcount / 2)
- toplist=$(tail -n$tophalf $TMPFILE)
- proc_value=$( for proc in $processes; do
- echo $toplist | grep "$proc" | awk '{gsub(/[ -]/, "", $12); print $12$13$14 ".value " $9}'
- done)
- echo $proc_value | awk 'NF {a[$1]+=$2*1}END{for (x in a)printf "%s %.2f\n", x,a[x]}'
- rm -f $TMPFILE
- }
- fi
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement