zoukankan      html  css  js  c++  java
  • cpu和内存的使用率统计

    统计cpu和内存一个月的平均使用率:

    #!/bin/bash
    totalcpu_rate=0.0
    totalmem_rate=0.0
    num_days=$(ls -l /var/log/sa/sa[0-3]* | wc -l)
    echo $num_days
    for file in /var/log/sa/sa[0-3]*
    do
        cpu_average=$(sar -f $file | grep Average | tail -n1 | awk '{printf("%.2f
    ", (100-$NF))}')
        mem_average=$(sar -r -f $file | grep Average | tail -1 | awk '{printf("%.2f
    ", $4)}')
        totalcpu_rate=$(echo "${cpu_average} + ${totalcpu_rate}" | bc) 
        totalmem_rate=$(echo "${mem_average} + ${totalmem_rate}" | bc) 
    done 
    
    cpu_average=$(echo "scale=5; $totalcpu_rate/$num_days" | bc)
    mem_average=$(echo "scale=5; $totalmem_rate/$num_days" | bc)
    printf "%.2f%%, %.2f%%
    " $cpu_average $mem_average >> /tmp/hostinfo.csv
    

    统计cpu和内存一个月的使用峰值:

    #!/bin/bash
    cpu_min=100
    mem_max=0
    for file in /var/log/sa/sa[0-3]*
    do
        _day_cpu_min=$(sar -f $file | awk 'BEGIN{min=100} {if(($NF ~ /^[1-9]/) && $NF< min) {min=$NF} fi} END{printf("%.2f
    ", min)}')
        if [ $(echo "${_day_cpu_min} < ${cpu_min}" | bc) ]; then
            cpu_min=${_day_cpu_min}
        fi
        _day_mem_max=$(sar -r -f $file | awk 'BEGIN{max=0} {if((NF==12) && ($5 ~ /^[1-9]/) && $5>max) {max=$5} fi} END{printf("%.2f", max)}')
        if [ $(echo "${_day_mem_max} > ${mem_max}" | bc) ]; then
            mem_max=${_day_mem_max}
        fi
    done 
    
    cpu_max=$(echo "100-${cpu_min}" | bc)
    echo ${cpu_max}
    echo ${mem_max}
    
    printf "%.2f%%, %.2f%%
    " $cpu_max $mem_max >> /tmp/hostinfo.csv
  • 相关阅读:
    Flink实例(十九):FLINK 异步IO (四)实例 (二) MySQL
    Flink实例(十八):FLINK 异步IO (三)实例 (一)
    Flink实例(十七):FLINK 异步IO (二)原理
    kata镜像
    golang no Go files
    docker命令
    golang 编译安装kata container (二)
    golang代理
    golang 安装依赖
    golang
  • 原文地址:https://www.cnblogs.com/donggongdechen/p/11935511.html
Copyright © 2011-2022 走看看