#author("2019-10-02T08:58:11+09:00","default:honma","honma") #author("2019-12-26T09:02:54+09:00","default:honma","honma") * nice値の設定 [#d8aa1fe1] 参考:[[NICE:http://linuxjm.osdn.jp/html/LDP_man-pages/man2/nice.2.html]], [[GETPRIORITY:http://linuxjm.osdn.jp/html/LDP_man-pages/man2/getpriority.2.html]] getpriority()を使用したプライオリティの取得 #highlight(c){{ errno = 0; ret = getpriority(PRIO_PROCESS, 0); if (errno == 0) { printf("priority = %d\n", ret); } else { perror("getpriority"); } }} nice()を使用したプライオリティの設定 #highlight(c){{ errno = 0; ret = nice(-1); if (errno == 0) { getprio(); } else { perror("nice"); } }} setpriority()を使用したプライオリティの設定 #highlight(c){{ ret = setpriority(PRIO_PROCESS, 0, 1); if (ret == 0) { getprio(); } else { perror("setpriority"); } }} #highlight(end) [[ソースコード:https://www.chobits.com/pukiwiki/index.php?plugin=attach&pcmd=open&file=getprio.c&refer=nice%E5%80%A4%E3%81%AE%E8%A8%AD%E5%AE%9A]] #ref(getprio.c) 実行結果 $ sudo ./getprio [sudo] ***** のパスワード: priority = 0 priority = -1 priority = 1 別ターミナルから確認 $ cat /proc/`pidof getprio`/sched | grep -e policy -e prio getprio (105166, #threads: 1) policy : 0 prio : 120 $ cat /proc/`pidof getprio`/stat | awk -F' ' '{print $18,$19}' 20 0 ※ priority を -1 に設定後、確認 $ cat /proc/`pidof getprio`/sched | grep -e policy -e prio getprio (105166, #threads: 1) policy : 0 prio : 119 $ cat /proc/`pidof getprio`/stat | awk -F' ' '{print $18,$19}' 19 -1 ※ priority を 1 に設定後、確認 $ cat /proc/`pidof getprio`/sched | grep -e policy -e prio getprio (105166, #threads: 1) policy : 0 prio : 121 $ cat /proc/`pidof getprio`/stat | awk -F' ' '{print $18,$19}' 21 1 $ **設定値(CFSクラス)一覧 [#i81507d4] |CENTER:|CENTER:|CENTER:|CENTER:|c |優先度|/proc/<pid>/sched|>|/proc/<pid>stat|h |~|prio|priority|nice|h |高い|100|0|-20| ||119|19|-1| |デフォルト|120|20|0| ||121|21|1| |低い|139|39|19| ~ ~ #htmlinsert(amazon_pc.html);