
つまり、O(1) スケジューラ、CFS スケジューラ、それとも古いスケジューラでしょうか?
答え1
sched_getscheduler(process_pid)
プロセスのスケジュール ポリシーを決定するために呼び出すことができます。
存在する場合/sys/kernel/uids
、CFSに罹患しています。または、
[[ -n $(awk '$3 == "load_balance_fair" {print;}' < /proc/kallsyms) ]] &&
echo CFS
O(1) スケジューラを他の古いスケジューラとどのように区別できるかはわかりません。カーネル バージョンを使用することもできますが、ディストリビューションは出荷されたカーネルにパッチを適用しているため、これは信頼できません。
答え2
プロセスのスケジューラは、この関数man sched_setschedulerを使用してプログラマーによって定義できます。
プロセスが使用するスケジューラを確認するには、topコマンドを使用します。
プロセスチャートのスケジューラを変更する