procs_runningには要求するプロセスが含まれていますか?

procs_runningには要求するプロセスが含まれていますか?

/proc/statLinuxには、実行中のプロセス(スレッド)の数を示すprocs_running値があります。

問題は、この値に現在のprocfsを照会するプロセスが含まれているかどうかです。

完全にアイドル状態のシステムでは、この値は0または1にする必要がありますか?

答え1

procs_runningのフィールドに/proc/statprocfsを問い合わせる現在のプロセスが含まれていますか?

はい、そうです。ダミー/proc/statファイルは次に生成されます。fs/proc/stat.cLinuxカーネルではnr_running()

このnr_running()関数は以下で定義されます。kernel/sched/core.c、これは単にすべてのCPU固有のプロセスカウンタを合計することです。ここでは、現在のプロセスは特別な方法で処理されないため、カウントに含まれます。

完全にアイドル状態のシステムでは、値は0または1にする必要がありますか?

プロセス後〜しなければならないカーネル生成コンテンツのダミーファイルを読み取り、これらのプロセスは常にnr_running()カーネル関数によって計算されます。これは常に少なくとも1でなければなりません。

答え2

いくつかのテストが完了したら、要求されたプロセスの実行に関連しているようです。したがって、vmstatは、実際のシステム負荷を示すためにアクティブなプロセスの数から1を引くことができます。

関連情報