Linux中的nice程序名字的由来

Linux中nice程序的作用,想必大家都知道,就是通过一个 -20到19 的数字,来控制CPU分配到这个进程的时间片得多少。数字越小,CPU分配的时间片越多,也就是所谓的优先级越高。

我其实第一眼看到这个程序的名字,就有一个疑问,为什么数字越小的反而运行的越好(nice)了呢?

原来 nice 除了表示某个东西很美好之外,在形容一个人的时候,是 “友善的,好心的” 的意思。所以,如果某个进程的 nice 值越高,就表示这个进程(拟人的手法)越好心,越友善,也就是将CPU的时间都让给别人用了,故而优先级低。这些进程应该配发“好人卡”啊!

那些nice值很低,甚至为负数,很不nice的进程,“自私”地占据了非常多的CPU时间片,如果CPU可以提供的话,最多可以占据CPU99%的时间!当然,负数级别的nice,只能root用户来用,不是谁都可以那么自私的!

举个例子,比如我们在服务器上解压缩一个文件,但是呢又不想影响WEB服务的运行,就可以这样:

nice -n 19 tar xf archive.tgz 

相关推荐