Linux
(-) 的 niceness 值是什麼意思?
根據手冊頁和維基百科;
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