Linux中的每个任务都有其优先级。这个优先级的范围从-20到19。优先级越低(-20),分配
给任务的CPU时间就越多。默认的优先级是0。
并非所有的任务都需要使用相同的优先级。交互式应用要求快速响应,通过 crontab 运行的后台任务只需要在下次被调度运行之前执行完毕就行。
nice 命令可以修改任务的优先级。它能以指定的优先级启动任务。降低任务的优先级会释
放出资源给其他任务。
不加任何参数的 nice 命令会输出任务的当前优先级:
echo "my nice is `nice`"
把刚才的命令写入一个脚本nicetst.sh并执行一下:
sh nicetst.sh
再尝试一下通过nice命令调用脚本:
nice sh nicetst.sh
默认情况下任务的优先级会是10。可以在nice后面加一指定的优先级:
nice -18 sh nicetst.sh
如果要设置高优先级,比如-18
nice --18 sh nicetst.sh
参数-n等价于nice -adjustment=-n
nice --adjustment=-15 sh nicetst.sh
只有超级用户能够指定负值来提升任务的优先级(更小的数字):
修改运行中任务的优先级
renice 命令可以修改正在运行的任务的优先级。
最简单用法
renice -n pid