Linux

(-) 的 niceness 值是什麼意思?

  • May 1, 2014

根據手冊頁和維基百科;nice範圍從 -20 到 20。

然而,當我執行以下命令時,我發現某些程序具有非數值,例如 (-)。請參閱標題為“NI”的左側第六列。

(-) 的好壞表示什麼?

ps axl 
F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
4     0     1     0  20   0  19356  1548 poll_s Ss   ?          0:00 /sbin/init
1     0     2     0  20   0      0     0 kthrea S    ?          0:00 [kthreadd]
1     0     3     2 -100  -      0     0 migrat S    ?          0:03 [migration/0]
1     0     4     2  20   0      0     0 ksofti S    ?          0:51 [ksoftirqd/0]
1     0     5     2 -100  -      0     0 cpu_st S    ?          0:00 [migration/0]
5     0     6     2 -100  -      0     0 watchd S    ?          0:09 [watchdog/0]
1     0     7     2 -100  -      0     0 migrat S    ?          0:08 [migration/1]
1     0     8     2 -100  -      0     0 cpu_st S    ?          0:00 [migration/1]
1     0     9     2  20   0      0     0 ksofti S    ?          1:03 [ksoftirqd/1]
5     0    10     2 -100  -      0     0 watchd S    ?          0:09 [watchdog/1]
1     0    11     2 -100  -      0     0 migrat S    ?          0:05 [migration/2]

我檢查了 3 台正在執行的伺服器:Ubuntu 12.04 和 CentOs 6.5 以及 Mac OsX 10.9。只有 Ubuntu 和 CentOs 機器有非數字的 niceness 值。

(-) 的好壞表示什麼?

注意那些也有 -100 的PRI分數;這表明該程序被安排為實時程序。實時程序不使用漂亮的分數,並且總是比正常程序具有更高的優先級,但彼此之間仍然存在差異。

chrt您可以使用命令(例如)查看每個程序的詳細資訊chrt -p 3。您的 -100 之一可能會報告 99 的“目前調度優先級”——與 不同nice,這裡的高值是更高的優先級,這可能是 top 創建-100數字的地方。chrt無論 nice 值如何, 非實時程序都將始終顯示 0 的“目前調度優先級” ,而在 linux 下,“目前調度策略”為SCHED_OTHER.

只有 Ubuntu 和 CentOs 機器有非數字的 niceness 值。

某些版本top似乎在PRI下然後在NIrt下報告實時程序。0

引用自:https://unix.stackexchange.com/questions/127312