web-dev-qa-db-ja.com

どのプロセススケジューラが使用されているかをどのように判断できますか?

つまりO(1)スケジューラー、CFSスケジューラー、または古いスケジューラーですか?

7
daveb

sched_getscheduler(process_pid)を呼び出して、プロセスのスケジューリングポリシーを決定できます。

/sys/kernel/uidsが存在します。CFSがあります。またはあなたは試すことができます

[[ -n $(awk '$3 == "load_balance_fair" {print;}' < /proc/kallsyms) ]] && 
  echo CFS

O(1)スケジューラーを他の廃止されたスケジューラーと区別する方法がわかりません。私が思うカーネルバージョンを使用できますが、ディストリビューションは出荷されたカーネルにパッチを適用したため、これは信頼できない。

3
James Youngman

プロセスのスケジューラーは、この関数man sched_setschedulerを使用して、プログラマーが定義できます。

スケジューラがプロセスによって使用することを確認するには、topコマンドを使用できます

procceschrtのスケジューラーを変更するため

0
mandela900