たとえば、システムのCPU使用率を取得し、bashを使用してパーセントで表示する方法を知りたいと思います。
出力例:
57%
コアが複数ある場合は、平均パーセンテージを計算できると便利です。
ps -A -o pcpu | tail -n+2 | paste -sd+ | bc
/proc/stat
は非常に限られていますが、この1行で十分ですcat <(grep 'cpu ' /proc/stat) <(sleep 1 && grep 'cpu ' /proc/stat) | awk -v RS="" '{printf "%.2f%\n", ($13-$2+$15-$4)*100/($13-$2+$15-$4+$16-$5)}'
。%.2fを使用すると、出力する小数点以下の桁数を制御sleep 1
でき、平均化する時間を設定できます。つまり、平均化したい時間を設定できます。これをbashのwhileループに入れて、リアルタイムでテストできます。