Linux には状態の jiffies のカーネル カウンターが存在しますか?

Linux には状態の jiffies のカーネル カウンターが存在しますか?

デーモンプロセスの状態に関する時間/jiffie統計を取得したいと考えています。私が言及している状態は、Linux カーネル プロシージャ ファイルシステムドキュメント。実行中、スリープ中、中断できないスリープ、ゾンビ、追跡/停止。

表 1-4 には、ユーザー、カーネル、子を含むユーザー、子を含むカーネルの jiffie 時間カウンターが記載されていますが、状態の jiffies については記載されていません。

これらの状態で費やされた時間を追跡する標準的なカウンターはありますか?

例:

には、 jiffy 単位で測定される/proc/[pid]/statユーザー ( utime)、カーネル ( stime)、およびゲスト ( gtime) カウンターがあります。

R[ ]unning、[ S]leeping、[ D]eep 中断不可能な待機状態でスリープ中、[ Z]ombie、[ T]raced または停止状態で費やされた時間を jiffy 単位で測定するプロセス カウンターは存在しますか?

答え1

自分の質問についてさらに考えてみると、自分の質問に答えられると思います。

[ R]実行状態はユーザーモードとして追跡されます(ユータイム) とカーネルモード(時間) サイクルを必要とするため、スリープ/アイドル時間は (ちょっと) は、再起動後にプロセスが開始された時間から計算された実行時間を jiffies 単位で減算することによって計算できますstart_time。クロック周波数が動的にスケーリングされていると仮定すると、これはそれほど信頼できるものではありません。

ジフィーはクロック割り込みの頻度に依存する非絶対的な時間単位(ティック)です。ジフィーはやっている何か。

プロセスが非実行状態になったとき、または状態が非実行状態に変わった回数を示すカウンターやエポック日付参照が見つかりません。

関連情報