#author("2019-05-29T16:19:54+09:00","default:honma","honma")
#author("2019-10-02T09:12:53+09:00","default:honma","honma")
* Linuxのプライオリティ [#zeed6435]

Linuxのスケジュール管理は、スケジューリングポリシーと 「静的」なスケジューリング優先度 sched_priority に基づいてスケジュール管理を行なう。~
sched_priority に 0 を指定する通常ポリシーでは、nice値として -20 から 19 の範囲の値で、スケジューリングの優先度を定める。nice値のデフォルトの優先度は 0 である。~
小さな数字ほど、有利なスケジューリングとなる。 

参考:[[スケジューリング API の概要:https://linuxjm.osdn.jp/html/LDP_man-pages/man7/sched.7.html]]

* プライオリティの変更と確認 [#a71bc357]

** 設定の変更 [#n16806b6]
 $ sudo chrt -f -p <プライオリティ> <pid>
    -f SCHED_FIFO  を指定する場合
    -r SCHED_RR    を指定する場合(デフォルト)
    -o SCHED_OTHER を指定する場合
 $ sudo renice -n <nice値> -p <pid>

** 設定の確認 [#ge3e696d]
 $ cat /proc/[pid]/sched
 
 policy : スケジューリングポリシー
  /include/uapi/linux/sched.h 
  #define SCHED_NORMAL    0
  #define SCHED_FIFO      1
  #define SCHED_RR        2
  #define SCHED_BATCH     3
  #define SCHED_IDLE      5
 
 prio : タスクの優先度(0-139)
  RTタスクは 0 - 99、CFSクラスは 100 - 139 の値。nice値は -20 - 19 の範囲で動かせるが、
  CFSクラスの優先度デフォルト値が 120 なので、120 + nice がカーネル内で使われる (CFSクラスの) タスクの優先度。

 $ cat /proc/[pid]/stat | awk -F' ' '{print $18,$19}'
 
  1 pid       プロセスID
  2 comm      実行ファイル名
  3 state     状態:"RSDZTW" のどれか1文字
  4 ppid      親プロセスID
 18 priority  リアルタイム・スケジューリングポリシーのスケジューリング優先度
              スケジューリング優先度を マイナスにした値で、値は -2 から -100 までの範囲の数値となり
              それぞれリアルタイム優先度の 1 から 99 に対応する。
 19 nice      nice値

** 取得情報の一覧 [#m6fead6e]

||/proc/[pid]/sched|>|/proc/[pid]/stat|priority|nice||
|~|prio|priority|nice|~|~|~|
|RTタスク|0|-100|0|99|0 |SCHED_FIFO、SCHED_RR の最高|
|~|1|-99|0|98|0||
|~|||||||
|~|97|-3|0|2|0||
|~|98|-2|0|1|0|SCHED_FIFO、SCHED_RR の最低|
||||||||
|CFSクラス|100|0|-20|0|-20|SCHED_OTHER、SCHED_BATCH の最高|
|~|101|1|-19|0|-19||
|~|||||||
|~|119|19|-1|0|-1||
|~|120|20|0|0|0|SCHED_OTHER、SCHED_BATCH のデフォルト|
|~|121|21|1|0|1||
|~|||||||
|~|138|38|18|0|18||
|~|139|39|19|0|19|SCHED_OTHER、SCHED_BATCH の最低|

参照:[[PROC:https://linuxjm.osdn.jp/html/LDP_man-pages/man5/proc.5.html]]

~
#htmlinsert(amazon_pc.html);

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS