20-sysinfo 1.2 KB

1234567891011121314151617181920212223242526272829
  1. #!/bin/bash
  2. # get load averages
  3. IFS=" " read LOAD1 LOAD5 LOAD15 <<<$(cat /proc/loadavg | awk '{ print $1,$2,$3 }')
  4. # get free memory
  5. IFS=" " read USED FREE TOTAL <<<$(free -htm | grep "Mem" | awk {'print $3,$4,$2'})
  6. # get processes
  7. PROCESS=`ps -eo user=|sort|uniq -c | awk '{ print $2 " " $1 }'`
  8. PROCESS_ALL=`echo "$PROCESS"| awk {'print $2'} | awk '{ SUM += $1} END { print SUM }'`
  9. PROCESS_ROOT=`echo "$PROCESS"| grep root | awk {'print $2'}`
  10. PROCESS_USER=`echo "$PROCESS"| grep -v root | awk {'print $2'} | awk '{ SUM += $1} END { print SUM }'`
  11. # get processors
  12. PROCESSOR_NAME=`grep "model name" /proc/cpuinfo | cut -d ' ' -f3- | awk {'print $0'} | head -1`
  13. PROCESSOR_COUNT=`grep -ioP 'processor\t:' /proc/cpuinfo | wc -l`
  14. W="\e[0;39m"
  15. G="\e[1;32m"
  16. echo -e "
  17. ${W}system info:
  18. $W Distro......: $W`cat /etc/*release | grep "PRETTY_NAME" | cut -d "=" -f 2- | sed 's/"//g'`
  19. $W Kernel......: $W`uname -sr`
  20. $W Uptime......: $W`uptime -p`
  21. $W Load........: $G$LOAD1$W (1m), $G$LOAD5$W (5m), $G$LOAD15$W (15m)
  22. $W Processes...:$W $G$PROCESS_ROOT$W (root), $G$PROCESS_USER$W (user), $G$PROCESS_ALL$W (total)
  23. $W CPU.........: $W$PROCESSOR_NAME ($G$PROCESSOR_COUNT$W vCPU)
  24. $W Memory......: $G$USED$W used, $G$FREE$W free, $G$TOTAL$W total$W"