Advertisement
Guest User

Untitled

a guest
May 24th, 2015
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.74 KB | None | 0 0
  1. IFS='|'
  2. processes=${processes:="apache2|transmission-da|Plex New Transc|Plex Media Serv|Plex DLNA Serve|python|smbd|munin-graph"}
  3. #processes=${processes:="transmission-da"}
  4. if [ "$1" = "config" ]; then
  5.  
  6.         NCPU=$(egrep '^cpu[0-9]+ ' /proc/stat | wc -l)
  7.         PERCENT=$(($NCPU * 100))
  8.         if [ "$scaleto100" = "yes" ]; then
  9.                 graphlimit=100
  10.         else
  11.                 graphlimit=$PERCENT
  12.         fi
  13. #        SYSWARNING=`expr $PERCENT '*' 30 / 100`
  14. #        SYSCRITICAL=`expr $PERCENT '*' 50 / 100`
  15. #        USRWARNING=`expr $PERCENT '*' 80 / 100`
  16.  
  17.         echo graph_title CPU usage by process
  18.         echo graph_args --base 1000 --lower-limit 0 --upper-limit $graphlimit
  19.         echo graph_vlabel %
  20.         echo graph_category processes
  21.         echo graph_info This graph shows the cpu usage of several processes
  22.  
  23. #
  24. #use this to get process names for labels
  25. #
  26.  
  27.         proclist=$(      for proc in $processes; do
  28.                           echo "$proc.$proc"
  29.                 done)
  30.         #get proc name + .label
  31.         echo $proclist | awk -F. '{gsub(/[ -]/, "", $1); print$1".label "$2} '
  32.         #get proc name + .info
  33.         echo $proclist | awk -F. '{gsub(/[ -]/, "", $1); print$1".info "$1} '
  34.  
  35. else
  36.  
  37. #
  38. #use this to get process cpu % value
  39. #
  40.  
  41. TMPFILE=`mktemp -t top.XXXXXXXXXX` && {
  42.  
  43.   top -b -n2 > $TMPFILE
  44.  
  45. topcount=$(awk 'END{print NR}' $TMPFILE)
  46. tophalf=$(expr $topcount / 2)
  47. toplist=$(tail -n$tophalf $TMPFILE)
  48.  
  49.  
  50.  
  51. proc_value=$(   for proc in $processes; do
  52.         echo $toplist | grep "$proc" | awk '{gsub(/[ -]/, "", $12); print $12$13$14 ".value " $9}'
  53. done)
  54.  
  55. echo $proc_value | awk 'NF {a[$1]+=$2*1}END{for (x in a)printf "%s %.2f\n", x,a[x]}'
  56.  
  57. rm -f $TMPFILE
  58. }
  59.  
  60.  
  61. fi
  62.  
  63.  
  64. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement