利用shell脚本编写查看Centos 7下CPU,内存,磁盘的占用率

您所在的位置:网站首页 shell脚本计算磁盘容量 利用shell脚本编写查看Centos 7下CPU,内存,磁盘的占用率

利用shell脚本编写查看Centos 7下CPU,内存,磁盘的占用率

2023-12-11 09:05| 来源: 网络整理| 查看: 265

#cpu CPU_us=$(vmstat | awk '{print $13}' | sed -n '$p') CPU_sy=$(vmstat | awk '{print $14}' | sed -n '$p') CPU_id=$(vmstat | awk '{print $15}' | sed -n '$p') CPU_wa=$(vmstat | awk '{print $16}' | sed -n '$p') CPU_st=$(vmstat | awk '{print $17}' | sed -n '$p')

CPU1=`cat /proc/stat | grep 'cpu ' | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8}'` sleep 5 CPU2=`cat /proc/stat | grep 'cpu ' | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8}'` IDLE1=`echo $CPU1 | awk '{print $4}'` IDLE2=`echo $CPU2 | awk '{print $4}'` CPU1_TOTAL=`echo $CPU1 | awk '{print $1+$2+$3+$4+$5+$6+$7}'` CPU2_TOTAL=`echo $CPU2 | awk '{print $1+$2+$3+$4+$5+$6+$7}'` IDLE=`echo "$IDLE2-$IDLE1" | bc` CPU_TOTAL=`echo "$CPU2_TOTAL-$CPU1_TOTAL" | bc` #echo -e "IDLE2:$IDLE2\nIDLE1:$IDLE1\nCPU2:$CPU2_TOTAL\nCPU1:$CPU1_TOTAL" #echo -e        "IDLE:$IDLE\nCPU:$CPU_TOTAL" RATE=`echo "scale=4;($CPU_TOTAL-$IDLE)/$CPU_TOTAL*100" | bc | awk '{printf "%.2f",$1}'`

echo -e "us=$CPU_us\tsy=$CPU_sy\tid=$CPU_id\twa=$CPU_wa\tst=$CPU_st" echo "CPU利用率:${RATE}%" CPU_RATE=`echo $RATE | cut -d. -f1` #echo   "CPU_RATE:$CPU_RATE" if      [ $CPU_RATE -ge 1 ] then    echo "CPU Warn"         ps aux | grep -v USER | sort -rn -k3 | head fi

#内存 total=$(free -m | sed -n '2p' | awk '{print $2}') used=$(free -m | sed -n '2p' | awk '{print $3}') free=$(free -m | sed -n '2p' | awk '{print $4}') shared=$(free -m | sed -n '2p' | awk '{print $5}') buff=$(free -m | sed -n '2p' | awk '{print $6}') cached=$(free -m | sed -n '2p' | awk '{print $7}') rate=`echo "scale=2;$used/$total" | bc | awk -F. '{print $2}'` echo -e "total\tused\tfree\tshared\tbuffer\tavailable" echo -e "${total}M\t${used}M\t${free}M\t${shared}M\t${buff}M\t${cached}M\n内存使用 率:${rate}%" if    [ $rate -ge 30 ] then    echo "Memory Warn"     ps aux | grep -v USER | sort -rn -k4 | head fi

#磁盘 DEV=`df -hP | grep '^/dev/*' | cut -d' ' -f1 | sort` for I in $DEV do dev=`df -Ph | grep $I | awk '{print $1}'` size=`df -Ph | grep $I | awk '{print $2}'` used=`df -Ph | grep $I | awk '{print $3}'` free=`df -Ph | grep $I | awk '{print $4}'` rate=`df -Ph | grep $I | awk '{print $5}'` mount=`df -Ph | grep $I | awk '{print $6}'` echo -e "$I:\tsize:$size\tused:$used\tfree:$free\trate:$rate\tmount:$mount" F=`echo $rate | awk -F% '{print $1}'` if [ $F -ge 50 ] then     echo "$mount Warn"     else

echo "It's OK" fi done



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3