如何设置优先级
系统中运行的每个进程都有一个优先级(也称为“nice值”),其范围从-20(最高优先级)到19(最低优先级)。默认情况下,进程的优先级为0(“基本”调度优先级)。具有较高优先级的进程(nice值相对较小,最低为-20)和具有较低优先级的进程(直到19)将被调度为更频繁地运行,因此它们具有更多的进程周期。普通用户只能降低自己进程的优先级,并且仅限于0到19。超级用户(root)可以将任何进程的优先级设置为任何值。
雷尼塞
如果一个或一些进程消耗了太多的系统资源,除了终止它们之外,您还可以更改它们的优先级。为此,请使用renice命令。它的语法是:
Renice优先级[[-p] pid...] [[-g] pgrp...] [[-u]用户名...]
其中,优先级是指优先级的值;Pid(请为多个进程使用-p选项)表示进程id号;Pgrp(如果有多个,请用-g)表示进程组ID号;Users(如果有多个用户,请使用-u)表示流程所有者的用户名。
假设你运行一个执行长期科学操作的进程(它的PID是785),但是你想玩一个游戏,释放一些系统资源。然后,您可以:
$ renice +15 785
这样,您的进程可能需要更长的时间来完成,但它不会从其他进程窃取CPU时间片。
如果您是系统管理员,并且您发现一些用户执行了太多的进程并消耗了太多的系统资源,您只需键入以下命令,就可以更改这些用户进程的优先级:
# renice +20 -u li_si
这样li_si的所有进程都会有最低的优先级,所以不会妨碍其他用户的进程。
美好的
既然您知道可以更改进程的优先级,那么您可能需要根据指定的优先级来执行命令。为此,请使用nice命令。
此时,您需要将您想要运行的命令作为nice的参数。它的另一个参数-n可以用来设置优先级。默认情况下,nice会将优先级设置为10。
例如,您想要创建Mandrakelinux安装光盘的ISO映像:
$ DD if =/dev/cdrom of = ~/mdk 1 . iso
在一些配备标准IDE光盘的系统上,复制大量信息的过程会消耗过多的系统资源。为了防止复制操作妨碍其他进程,您可以以比更有效的方式使用以下命令。