在 Ubuntu(Linux)中,进程优先级主要通过 nice 值 和 renice 命令 来调整,也可以使用 chrt 设置实时调度策略。下面按常见场景说明。
nice 命令nice -n 10 ./my_program
表示以 nice=10 启动(低优先级)
提高优先级(需 root):
sudo nice -n -5 ./my_program
renicerenice -n 10 -p 1234
将 PID 为 1234 的进程 nice 值改为 10
提高优先级(需 root):
sudo renice -n -5 -p 1234
按用户批量调整:
renice -n 5 -u username
psps -eo pid,ni,pri,comm
NI:nice 值PRI:内核优先级(PRI = 20 + NI)top / htoptop 中看 NI 和 PR 列htop 更直观,可直接 F7 / F8 调整(需权限)chrt适用于实时任务(音频、工业控制等)
查看:
chrt -p 1234
设置为 SCHED_FIFO(实时):
sudo chrt -f 50 1234
常见策略:
SCHED_OTHER(默认)SCHED_FIFOSCHED_RR⚠️ 实时优先级使用不当可能导致系统卡死
如果是系统服务:
[Service]
Nice=-5
# 或
CPUSchedulingPolicy=rr
CPUSchedulingPriority=50
然后:
sudo systemctl daemon-reload
sudo systemctl restart my_service
如果你有具体场景(比如:
可以告诉我,我可以给你更精确的建议。