必须用renice命令修改PID对应的nice值:sudo renice -n -10 PID(需root权限设负值),普通用户可renice 15 PID降级,ps或top验证NI列生效。

在银河麒麟操作系统中,让某个正在运行的程序(比如视频转码进程或后台数据同步任务)更快获得CPU时间,必须用renice命令直接修改其nice值,而不是在图形界面点几下就能生效——因为图形管理器只提供粗略档位,且对systemd服务完全无效。
查出目标进程的PID
打开终端,执行ps aux | grep 关键词,例如想调高一个Python脚本的优先级,就输入ps aux | grep python。找到对应进程行最左侧那一串数字,就是PID(比如18923)。注意别选错行,grep自身也会产生一条匹配结果,它的PID不是你要找的目标。
更精准的方法是用pgrep -f "python.*transcode",它只输出PID,不带干扰信息。
用renice修改该进程的nice值
方法一:提权设为高优先级(需sudo)
执行sudo renice -n -10 18923。【只有root权限才能将nice值设为负数】,普通用户执行会提示“Permission denied”。这步会让该进程在CFS调度器中获得更大权重,但不会抢占实时进程(如音频子系统)。
方法二:降级让出CPU(无需sudo)
如果进程太“抢资源”,拖慢桌面响应,可执行renice 15 18923。普通用户也能操作,因为只是把nice值从默认0调高到15,系统认为这是“更友好”的行为。
方法三:恢复默认优先级
执行sudo renice -n 0 18923,把nice值重置为0。这比反复试错更稳妥,尤其当你不确定之前设过什么值时。
验证修改是否生效
第一步:运行ps -o pid,ni,comm -p 18923,检查输出中NI列是否已变成你设定的数值(如-10或15)。
第二步:在top中按f键进入字段管理→用方向键选中NI→按空格启用→按q退出。此时NI列会实时显示所有进程的nice值,确认目标进程已更新。
第三步:观察CPU%是否变化——若设为-10后该进程CPU占用明显上升、其他程序响应变快,说明调整起效。注意:systemd托管的服务(如bluetooth、udisks2)无法被renice修改,右键菜单里也不会出现“设置优先级”选项。











