형식화된 로드 평균 표시

형식화된 로드 평균 표시

*안녕하세요. 프로세서 로드를 별표( )로 표시하고 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*

관련 정보