シェルで最高のCPU統計を取得するには?

シェルで最高のCPU統計を取得するには?

私はこれで私が使用しているCPUの量(%)を正確に読み取ろうとしていますtop。テスト用に実行されているコマンドは次のとおりです。

top -n1 | awk '/Cpu\(s\):/ {print $2}'

これにより、次のものが返されます。

10.7%us,

私が望む正確なデータです。しかし、コマンドを実行するたびにシステムに異なる負荷を適用しても同じ出力が得られます(htop使用法が異なることは言うまでもありません)。起動するたびにtopCPU使用率が同じようです。数フレーム後に正しい値が提供されます。

この方法ではtopの出力を解析できないようで、シェルから正確な読み取りを提供できる他の信頼できるアプリケーションを探しています。htop各コアの読み取り値を提供する方法が本当に好きです。

私はこれを試しましたが、不正確でiostatmpstatゆっくり変化する」値を提供しているようです。

ベストアンサー1

私はこのスクリプトを使います。アーチボードに登場したイーグル):

#!/bin/bash
read cpu a b c previdle rest < /proc/stat
prevtotal=$((a+b+c+previdle))
sleep 0.5
read cpu a b c idle rest < /proc/stat
total=$((a+b+c+idle))
CPU=$((100*( (total-prevtotal) - (idle-previdle) ) / (total-prevtotal) ))

おすすめ記事