
デーモンプロセスの状態に関する時間/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
。クロック周波数が動的にスケーリングされていると仮定すると、これはそれほど信頼できるものではありません。
ジフィーはクロック割り込みの頻度に依存する非絶対的な時間単位(ティック)です。ジフィーはやっている何か。
プロセスが非実行状態になったとき、または状態が非実行状態に変わった回数を示すカウンターやエポック日付参照が見つかりません。