统计本机内存情况和使用状况的脚本

来源:互联网 发布:中国人民大学软件学院 编辑:程序博客网 时间:2024/05/14 18:43
  1. #fetch and process memory information  
  2. [ -f /proc/meminfo ] && {  #First judge whether the file exists  
  3. #-e是模式的意思,常用来保护以破折号开头的模式。  
  4. #-w是全字匹配。  
  5. #-i忽略大小写。  
  6. #-d指定分割符,-f为按照分割符取出的域,2-指的是域2及以后  
  7. Buffers=`grep -we 'Buffers' /proc/meminfo | cut -d' ' -f2- | tr -d "[A-Z][a-z] "`  
  8. Cached=`grep -we 'Cached' /proc/meminfo | cut -d' ' -f2- | tr -d "[A-Z][a-z] "`  
  9. MemFree=`grep -ie 'MemFree' /proc/meminfo | cut -d' ' -f2- | tr -d "[A-Z][a-z] "`  
  10. MemTotal=`grep -ie 'MemTotal' /proc/meminfo | cut -d' ' -f2- | tr -d "[A-Z][a-z] "`  
  11. SwapCached=`grep -ie 'SwapCached' /proc/meminfo | cut -d' ' -f2- | tr -d "[A-Z][a-z] "`  
  12. SwapFree=`grep -ie 'SwapFree' /proc/meminfo | cut -d' ' -f2- | tr -d "[A-Z][a-z] "`  
  13. SwapTotal=`grep -ie 'SwapTotal' /proc/meminfo | cut -d' ' -f2- | tr -d "[A-Z][a-z] "`  
  14. }  
  15.   
  16. MEMUSED="$(( ( ( ( $MemTotal - $MemFree ) - $Cached ) - $Buffers ) / 1024 ))"  
  17. MEMTOTAL="$(( $MemTotal / 1024))"  
  18. MEMFREE="$(( $MEMTOTAL - $MEMUSED ))"  
  19. MEMPER="$(( ( $MEMUSED * 100 ) / $MEMTOTAL ))"  
  20. "$SwapTotal" -gt "1" ] && {  
  21.   SWAPUSED="$(( ( ( $SwapTotal - $SwapFree ) - $SwapCached ) / 1024 ))"  
  22.   SWAPTOTAL="$(( $SwapTotal / 1024))"  
  23.   SWAPFREE="$(( $SWAPTOTAL - $SWAPUSED ))"  
  24.   SWAPPER="$(( ( $SWAPUSED * 100 ) / $SWAPTOTAL ))"   
  25. } || {  
  26.   SWAPUSED="0"  
  27.   SWAPTOTAL="0"  
  28.   SWAPPER="0"   
  29. }  
  30.   
  31. # display the information  
  32. /bin/echo  
  33. /bin/echo "Memory"  
  34. /bin/echo "Used: $MEMUSED MB"  
  35. /bin/echo "Free: $MEMFREE MB"  
  36. /bin/echo "Total: $MEMTOTAL MB"  
  37. /bin/echo  
  38. /bin/echo "Swap"  
  39. /bin/echo "Used: $SWAPUSED MB"  
  40. /bin/echo "Free: $SWAPFREE MB"  
  41. /bin/echo "Total: $SWAPTOTAL MB"  
  42. /bin/echo  
0 0
原创粉丝点击