NICE
nice值应该是熟悉Linux/UNIX的人很了解的概念了,我们都知它是反应一个进程“优先级”状态的值,其取值范围是-20至19,一共40个级别。这个值越小,表示进程”优先级”越高,而值越大“优先级”越低。我们可以通过nice命令来对一个将要执行的命令进行nice值设置,方法是:[root@zorrozou-pc0 zorro]#nice-n 10bash
。这样我就又打开了一个bash,并且其nice值设置为10,而默认情况下,进程的优先级应该是从父进程继承来的,这个值一般是0。我们可以通过nice命令直接查看到当前shell的nice值
[root@zorrozou-pc0 zorro]#nice
10
对比一下正常情况,打开一个正常的bash:
[root@zorrozou-pc0 zorro]#bash
[root@zorrozou-pc0 zorro]#nice
0
另外,使用renice命令可以对一个正在运行的进程进行nice值的调整,我们也可以使用比如top、ps等命令查看进程的nice值,具体方法我就不多说了,大家可以参阅相关manpage。
需要大家注意的是,我在这里都在使用nice值这一称谓,而非优先级(priority)这个说法。当然,nice和renice的man手册中, 也说的是priority这个概念,但是要强调一下,请大家真的不要混淆了系统中的这两个概念,一个是nice值,一个是priority值,他们有着千 丝万缕的关系,但对于当前的Linux系统来说,它们并不是同一个概念。
我们看这个命令:
[root@zorrozou-pc0 zorro]#ps-l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0692457760800-17952 poll_s pts/500:00:00sudo
4 S 0692569240800-4435 wait pts/500:00:00bash
0 R 01297169250800-8514- pts/500:00:00ps
同样的,如果是top命令:
Tasks:1587 total,7 running,1570 sleeping,0 stopped,10 zombie
Cpu(s):13.0%us,6.9%sy,0.0%ni,78.6%id,0.0%wa,0.0%hi,1.5%si,0.0%st
Mem:132256952k total,107483920k used,24773032k free,2264772k buffers
Swap:2101192k total,508k used,2100684k free,88594404k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND