プロセスのプロセススケジュールを追跡する方法は?

プロセスのプロセススケジュールを追跡する方法は?

私は大学のプロジェクトで特定のプロセスのプロセススケジュールを追跡、記録、操作する方法を調査しています。複数のアプリケーションをそれぞれ1つのプロセスで起動したいと思います。まず、スケジュールされた実行を追跡して記録したいと思います。ただし、次のステップでは、$n最初の実行で単一のプロセスを優先するようにスケジュールされた実行を操作したいと思います。

これを達成するための既存の方法(例えば、変更されたsched.h)を知っている人はいますか?

答え1

追跡するには、次のものを使用できます。getcpuまたはsched_getcpu(アイデアこの問題)、しかしディスパッチ関連の信号がないので、コードから直接追跡するのはやや難しいかもしれません。

別のあまりエレガントな解決策は、/proc/$PID「ファイル」でこの情報を見つけることです。

CPUアフィニティチェックの位置を制御します。hwloctasksetまたはランタイム制御制御:sched_setaffinity

関連情報