topとhtopで最も優先順位の高いスレッドがRTで表示されるのはなぜですか?

topとhtopで最も優先順位の高いスレッドがRTで表示されるのはなぜですか?

topツールでは、htopリアルタイム優先順位(ユーザーモードAPIの観点から99)が最も高いプロセス(または表示設定に応じてスレッド)と予約ポリシーまたはSCHED_RR優先SCHED_FIFO順位が表示されますRT

他のすべてのリアルタイムプロセスでは、優先順位は数値pで表され、次のように定義されます。

p = -userprio -1 

なぜ最も優先順位の高いライブプロセスが表示されtopないのか疑問に思います。htop-100

ベストアンサー1

なぜtopとhtopが最優先のリアルタイムプロセスに-100を表示しないのかを知りたいです。

これは、1〜99の範囲の固定優先順位がある SCHED_RRためです。SCHED_FIFORTのRedHat MRGドキュメント

リアルタイム優先順位の場合、順序は逆です。一般的な「低いほど良い」とは異なり、99は実際には最高です。

ご意見に基づきご質問を誤解いたしました。申し訳ありません。

上部には列が1つしかないため、RT優先順位は他の優先順位と区別できません。この問題を解決するために、「rt」を使用してこれらのプロセスにリアルタイムスケジューラクラスを使用するように指示します。

を使用すると、違いを確認できますps ax --format uname,pid,ppid,tty,cmd,cls,pri,rtprio。これにより、2つの列が提供されます。 1つはprio用、もう1つはrtprio用です。

注:上記のコマンドは、clsプロセスで使用されるスケジューラクラス(フィールド)も表示します。

おすすめ記事