フォーマットされた負荷平均を表示

フォーマットされた負荷平均を表示

*こんにちは。プロセッサのロードをアスタリスク()でマークし、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*

関連情報