zoukankan      html  css  js  c++  java
  • Linux监控cpu,内存,磁盘脚本

    #!/bin/bash
    #
    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
    IDLE1:$IDLE1
    CPU2:$CPU2_TOTAL
    CPU1:$CPU1_TOTAL"
    #echo -e        "IDLE:$IDLE
    CPU:$CPU_TOTAL"
    RATE=`echo "scale=4;($CPU_TOTAL-$IDLE)/$CPU_TOTAL*100" | bc | awk '{printf "%.2f",$1}'`
    
    echo -e "us=$CPU_us	sy=$CPU_sy	id=$CPU_id	wa=$CPU_wa	st=$CPU_st" >> "./cpu.log"
    echo "CPU_RATE:${RATE}%" >> "./cpu.log"
    CPU_RATE=`echo $RATE | cut -d. -f1`
    #echo   "CPU_RATE:$CPU_RATE"
    if      [ $CPU_RATE -ge 80 ]
    then    echo "CPU Warn"
            ps aux | grep -v USER | sort -rn -k3 | head
    fi
    #!/bin/bash
    #
    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:	size:$size	used:$used	free:$free	rate:$rate	mount:$mount"  >> "./disk.log"
    F=`echo $rate | awk -F% '{print $1}'` >> "./disk.log"
    #if [ $F -ge 80 ];then
    #    echo "$mount Warn"
    #    else echo "It's OK"
    #fi
    done
    #!/bin/bash
    #
    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}'` >> "./memory.log"
    echo -e "total	used	free	shared	buffer	available" >> "./memory.log"
    echo -e "${total}M	${used}M	${free}M	${shared}M	${buff}M	${cached}M
    rate:${rate}%" >> "./memory.log"
    if    [ $rate -ge 80 ]
    then    echo "Memory Warn"
        ps aux | grep -v USER | sort -rn -k4 | head
    fi
    #!/bin/bash
    #
    a_process=`ps -ef |grep "Xmx20480m" |grep -v grep | awk '{print $2}'`
    b_process=`ps -ef |grep "executable" |grep -v grep | awk '{print $2}'`
    
    a=$(ps -e -o 'pid,comm,rsz' | grep java |  sort -nrk5|grep $a_process|awk -F" " '{print $3}')
    echo "a内存:"  $a  >> "./memory.log"
    b=$(ps -e -o 'pid,comm,rsz' | grep java |  sort -nrk5|grep $b_process|awk -F" " '{print $3}')
    echo "b内存:"  $b  >> "./memory.log"
  • 相关阅读:
    表单提交:button input submit 的区别
    JavaScript中改变this指针的注意事项
    宝塔服务器配置nginx刷新404的问题汇总
    ES6笔记整理
    axios网络请求
    v-model双向绑定
    v-bind动态绑定
    前端模块化
    vue router 路由
    JS高阶函数
  • 原文地址:https://www.cnblogs.com/castielangel/p/10369587.html
Copyright © 2011-2022 走看看