nice和renice命令可分别在启动时和运行中调整进程优先级,top支持交互式修改,需通过ps或top验证ni/pri值生效,普通用户权限限制可通过limits.conf配置放宽。

一、使用nice命令启动新进程并设置优先级
nice命令用于在启动进程时指定其初始nice值,从而影响该进程在CFS调度器中的执行权重。普通用户可将nice值设为0至19,root用户可设为-20至19。该方法适用于尚未运行的命令,且无需中断当前任务。
1、打开终端,输入命令前添加nice -n N,其中N为期望的nice值。
2、例如以较低优先级压缩文件:nice -n 15 tar -cf backup.tar /home/user/docs。
3、若需最高优先级(仅root可用):sudo nice -n -20 ./critical_app。
4、不带-n参数时可简写为nice -10 command,等价于nice -n -10 command。
二、使用renice命令动态调整运行中进程的优先级
renice命令允许在进程已启动后修改其nice值,支持按PID、用户名或组名批量调整。该操作即时生效,但受权限限制:普通用户只能调高自身进程的nice值,不能设负值或影响其他用户进程。
1、先通过ps aux | grep 进程名获取目标进程PID。
2、执行调整命令,例如将PID为12345的进程nice值设为8:sudo renice -n 8 -p 12345。
3、批量调整某用户所有进程:sudo renice -n 10 -u username。
4、按组调整(需GID存在):sudo renice -n -5 -g devgroup。
三、通过top命令交互式修改进程优先级
top提供实时界面下的交互式renice功能,适合快速定位并调整单个关键进程。该方式无需记忆PID,但要求操作者具备对应进程的权限,且仅对SCHED_OTHER类进程有效。
1、在终端中运行top命令。
2、按下r键触发renice交互模式。
3、输入目标进程的PID,回车确认。
4、输入新的nice值,例如5,完成调整。
5、按q退出top,调整结果立即反映在NI列中。
四、验证优先级是否生效
调整后必须确认ni值已更新,且PRI值符合预期计算逻辑(PRI ≈ 80 + NI),避免因进程处于D状态、cgroups限制或实时调度策略导致调整无效。
1、查看指定PID的ni与pri字段:ps -o pid,ni,pri,comm -p 12345。
2、按nice值降序列出前10个最“闲”的进程:ps -eo pid,ni,pri,comm --sort=-ni | head -10。
3、在top界面中按Shift+P可按PRI排序,观察数值变化。
4、若ni未变,检查进程状态:ps -o pid,state,ni,comm -p 12345,确认非D(不可中断)状态。
五、绕过普通用户权限限制的配置方法
默认情况下普通用户无法设置负nice值或降低他人进程优先级,但可通过系统级配置放宽限制,需谨慎操作以避免资源争用失衡。
1、编辑/etc/security/limits.conf文件,添加一行:username soft priority 5。
2、保存后重新登录用户会话使配置生效。
3、验证当前用户最大允许nice值:ulimit -e(返回5表示成功)。
4、此后该用户可执行nice -n -3 sleep 100等提升优先级的操作。











