時間の経過に伴う単一プロセスの CPU 使用率に関するデータを収集したいと考えています。データの収集 (例: pidstat を使用) を while ループで 1 秒間スリープさせてラップしようとしましたが、うまくいきませんでした。collectl も使用してみましたが、単一プロセスのデータを収集するオプションを見つけることができませんでした (--procfilter p を試しましたが、出力は信頼できませんでした)。
時間の経過に伴う単一プロセス (PID を使用) の CPU 使用率を測定し、これらのデータを csv ファイルにダンプできる標準 (オープン ソースの可能性あり) ツールはありますか?
答え1
これはうまくいきます:
#!/bin/bash 真実である一方、 ピッドスタットgrep 1117 >>pidload.csv 睡眠1 終わり
それをシェル スクリプトに記述するだけです。この場合、1117 は追跡するプロセス ID です。chmod +x SCRIPTNAME と実行すれば準備完了です。
特定のデータが必要な場合は、次のように awk で取得できます。
pidstat | grep 1117 | awk '{ print $3, $8 }' >>pidload.csv