1 個または n 個の CPU コアを持つ Linux マシンの合計 CPU 使用率を取得するにはどうすればよいですか?

1 個または n 個の CPU コアを持つ Linux マシンの合計 CPU 使用率を取得するにはどうすればよいですか?

現在、以下の方法を使用して、top コマンドから CPU 使用率のアイドル値を抽出し、その値を 100 から減算しています。この方法は正しいですか。また、同じことを実現するためのより良い方法はありますか。

また、私の Linux VM は簡素化されたバージョンであり、 などの基本的なツールがいくつかあるだけですtop。パッケージ マネージャーも削除されているため、他のツールをインストールすることはできません。

CPU_IDLE="$(top -bn2 | grep -F '%Cpu' | tail -n 4 | gawk '{print $8 $9}' | tr -s '\n\:\,[:alpha:]' ' '| gawk '{print $2}'),"

答え1

はい、あなたの方法で大丈夫です。

しかし、mpstat詳細については、こちらをご覧ください。

以下に含まれるシステム統計パッケージがインストールされていない場合は...

CentOS / RHELの場合:

sudo yum install sysstat

Ubuntu / Debianの場合:

sudo apt-get install sysstat

パッケージをインストールする権限がない場合は、以下のコマンドを使用してください。

grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage "%"}'

関連情報