web-dev-qa-db-ja.com

ターミナル(Mac)でCPU使用率を%で取得する方法

LinuxとWindowsで同じ質問がありますが、Mac(ターミナル)ではありません。現在のプロセッサ使用率を%で取得する方法を教えてもらえますか?出力例は40%。ありがとう

9
Wafflepi

これはMacで動作します(%を含む):

ps -A -o %cpu | awk '{s+=$1} END {print s "%"}'

これを少し分解するには:

psはプロセスステータスツールです。ほとんどの* nixライクなオペレーティングシステムがそれをサポートしています。渡したいフラグがいくつかあります。

  • -Aは、あなたのように実行されているプロセスだけでなく、すべてのプロセスを意味します。
  • -o必要な出力を指定できます。この場合、psの出力のcpu%列に必要なのはすべてです。

これにより、CPU使用率のようなすべてのプロセスのリストが表示されます。

 0.0 
 1.3 
 27.0 
 0.0 

ここで、このリストを合計して最終的な数値を取得する必要があるため、psの出力をawkにパイプします。 awkは、テキストを解析および操作するための非常に強力なツールです。数字を合計して結果を出力し、最後に「%」を追加するだけです。

26
vcsjones

あなたはこれを行うことができます。

printf "$(ps axo %cpu | awk '{ sum+=$1 } END { printf "%.1f\n", sum }' | tail -n 1),"
0
nit710