処理しやすい形式でシステム負荷に関するデータを取得します。

処理しやすい形式でシステム負荷に関するデータを取得します。

私はしばしばシステム負荷に関するデータを計算する必要性を感じます。例えば、top表示されたデータについてです。おそらく。iotophtop

私がやりたいことのいくつかは次のとおりです。

  1. コア(または平均コア)あたり10秒間の平均、最大、および最小のCPU負荷(上部に示すように、ユーザー時間、システム、アイドルなどで区切った)を計算します。

  2. プロセスあたり10秒以上のコンピュータの平均、最大、最小CPU時間。次に、同じプロセス名またはグループIDを共有する各プロセスについて、平均、最大、および最小値が計算されます。

  3. 共有メモリ領域を2回計算することなく、すべてのChromeまたはFirefoxプロセスで使用される常駐RAMの合計量を計算します。

  4. 数分間、プロセスごと、インターフェイスあたりの平均ネットワーク使用量と最大帯域幅を計算します。

私はこれを知っていてtopそれからpsデータを取得していますが、/procこれらのファイルの意味を理解して解析するのは、私が期待していたよりも難しいです。適切なスクリプト/プログラムが必要です。このデータを処理するためにbashでforループを作成したいと思います。

簡単かつ迅速に使用できるシステムロードデータの抽象化はありますか?

ベストアンサー1

top は ncurses を対話的に使用するため、出力ストリームはカーソル移動で埋められます。ただし、間隔ごとにデータを印刷する-b(バッチ)オプションがあります。だからawkで解析できます。すべてのプロセスが必要ない場合(-bモードにウィンドウサイズがないため必要です)、ほとんどすべての出力をカスタマイズするオプションがあります。また、間隔を測定するので、プロセスを再度実行する必要はありません。

おすすめ記事