Linux改变进程优先级的Nice命令

时间:2021-11-22 22:07:20
本文所述Nice与Renice命令已由管理员在Debian与CentOS中测试通过
VPS普遍性能不高,很多人可能有这样一个感受,在执行du、tar等命令时,会造成系统负载飙升,Apache响应缓慢。这时nice命令改变进程优先级可能能缓解这种状况。
nice命令用于调整Linux系统中进程的优先级。
通俗地讲,Linux系统中,进程有-19到19这39个优先级。-19最优先,19最不优先。进程的默认优先级为0。如果希望将进程调整为最优先,则将进程的nice值设置为-19;如果希望进程最不优先,占用最少的系统CPU时间,则将其设置为19。


新建一个进程并设置优先级
将当前目录下的documents目录打包,但不希望tar占用太多CPU:
nice -19 tar zcf pack.tar.gz documents
方法非常简单,即在原命令前加上“nice -19”。很多人可能有疑问了,最低优先级不是19么?那是因为这个“-19”中的“-”仅表示参数前缀;所以,如果希望:
将当前目录下的documents目录打包,并且赋予tar进程最高的优先级:
nice --19 tar zcf pack.tar.gz documents
 
修改已经存在的进程的优先级
将PID为1799的进程优先级设置为最低(19):
renice 19 1799
将PID为1799的进程优先级设置为最高(-19):
renice -19 1799
大家很可能发现了,renice命令与nice命令的优先级参数的形式是相反的。直接以优先级作为参数即可,不能加上“-”号,这点需要初学者注意。