显示格式化的负载平均值

显示格式化的负载平均值

嘿,我正在尝试创建一个命令文件,将处理器负载显示为星号 ( *) 并每 10 秒将其写入文件。 load = 1 = 10 个星 ( *),如果 load > 0.5,那么它还会记录星序列之前的时间和日期。

答案1

#!/bin/bash
function doload {
        load="$(uptime | rev | cut -d $' ' -f 3 | rev | tr ',' '.')" #load average over the last 1 minute
        var="$(bc <<< "${load::4}*10" | cut -d '.' -f 1)"
        if [[ -z "$var" ]]; then echo ""; return; fi
        if (( $(echo "${load::4} > 0.5" | bc -l) )); then
                echo -n "$(date) "
                for ((i=0; i < "$var"; i++)); do
                        echo -n \*
                done
                echo ""
        else
                for ((i=0; i < "$var"; i++)); do
                        echo -n \*
                done
                echo ""
        fi
}

while true; do
        doload
        sleep 10
done

0.19加载它会打印你 1*并加载1.79 17 号*

相关内容