top / htopなどのCPUの「詳細な」使用量をプログラムで取得します。

top / htopなどのCPUの「詳細な」使用量をプログラムで取得します。

htopCPU使用量を表示する良い方法があります。これは、各コア指標を3つのセクションに分けて、各コアの活動(使用率)を示しています。

  • 青:優先順位の低いプロセス
  • グリーン:通常のプロセス
  • 赤:カーネルプロセス

私はBashでhtopのようなことをしています(例!)/ proc(最初のもの)または他の場所(たとえばコマンド)からこの値を読みたいのですが。

押すと、同じ情報が上部に(テキストとして)表示されます1。最終的にプログラム的に背景の上部をtop押すことができれば、これはデータを読み取る解決策になるかもしれません。1

それでは、この情報を簡単に入手する方法はありますか?

複雑すぎる場合は、カーネルのグローバル使用法を読むだけで十分です(たとえばcpu0: 12%)。


編集する:CPU固有の使用量を確認するために、次のような小さなコマンドを作成しましたが、詳細は含まれていません(したがって、私の質問に完全に答えることはできませんが、解決策が見つからない場合は使用します)。

ps axo psr, pcpu 'END {
  (E in a)について
    印刷E,a[E]
    }
{ a[$1] += $2 }'

ところで、信頼できると思いますか?

答え1

の出力からロード平均(1分、5分、15分の平均アイドルプロセス数)を解析できますuptime。これには、CPU ユーザーだけでなく、ディスクの省電力状態のプロセスも含まれます。

関連情報