shell案例(8):利用监控工具vmstat实现监控
- 脚本基本要求
1 监控工具vmstat
2 此脚本针对于linux系统
3 要求显示出用户进程执行消耗cpu的时间(user_time--us)
4 要求显示出系统进程消耗cpu的时间(system_time sy)
5 要求显示空闲时间
6 要求显示等待IO时间
vmstat 1 3
信息以百分比表示
US--->如果这个比较高,长期超过50%,说明用户进程消耗的cpu时间多,
sy--->sys的值过高,这个不好的信息
ID
wa--->wa值过高,磁盘的问题。
1 #!/bin/bash 2 #author:zhiping.wang 3 4 #================================= 5 PWDDIR=`pwd` 6 Check_OS=`uname` 7 Cpu_info=`vmstat 1 2 >$PWDDTR/info.log` 8 Us_info=`cat $PWDDTR/info.log| awk '{print $13}'|tail -1` 9 Sy_info=`cat $PWDDTR/info.log| awk '{print $14}'|tail -1` 10 Id_info=`cat $PWDDTR/info.log| awk '{print $15}'|tail -1` 11 Wa_info=`cat $PWDDTR/info.log| awk '{print $16}'|tail -1` 12 13 #================================= 14 Check_error() 15 { 16 if [ $? -ne 0 ] 17 then 18 echo "$1 error" >$PWDDIR/cpuerror.log 19 return 1 20 21 fi 22 } 23 #================================= 24 Check_tools() 25 { 26 which vmstat >/dev/null 2>&1 27 Check_error vmstat 28 if [ Check_OS == "Linux" ] 29 then 30 Cpu_info_zy 31 else 32 echo "os is not Linux" >>$PWDDIR/cpuerror.log 33 return 1 34 fi 35 36 } 37 38 Cpu_info_zy() 39 { 40 echo "Cpu_sus:$Us_info" 41 echo "Cpu_sy:$Sy_info" 42 echo "Cpu_ID:$Id_info" 43 echo "Cpu_wa:$Wa_info" 44 } 45 46 Main() 47 { 48 Check_tools 49 if [ $? -eq 1 ] 50 then 51 echo "error" 52 exit 1 53 fi 54 } 55 56 Main

浙公网安备 33010602011771号