Linux 内核优先级中 NI、PR、PRI 之间的关系及换算

NI取值-2 0到1 9 ,PR=1 2 0+NI,PRI非实时=1 3 9 -PR,PRI实时=4 0+priority。

这就是坑,别信,别这么干。

Linux 内核线程优先级的设置和调整:如何提高内核线程的性能和响应

等等,还有个事,我上次在虚拟机里捣鼓这个,结果把后台下载任务搞成了最高优先级,CPU飙到9 0%,差点卡死直播。
具体是2 02 3 年3 月1 4 号下午,用的Kali Linux虚拟机,当时手滑按了个F,结果nice值直接变成了-2 0。
还好及时发现,赶紧改回正常调度,不然直播观众估计得喊卡了。

深入理解Linux中的进程优先级

Linux进程优先级直接影响资源分配。
nice值范围-2 0到1 9 ,默认0。
负值高优先级,正值低优先级。
实时优先级1 到9 9 ,仅root可设置。
普通进程用SCHED_OTHER,实时进程用SCHED_FIFO或RR。
nice命令设置启动优先级,renice调整运行中进程。
C语言用setpriority设置nice,sched_setscheduler设置实时优先级。
普通用户只能提高nice值,提升需root权限。
实时优先级仅特权进程可用,防止系统卡死。
子进程默认继承nice值,可独立设置。
系统负载可能动态调整优先级。
用top或htop监控进程优先级。
示例1 :高优先级子进程抢CPU。
示例2 :实时进程需确保能退出,避免卡死。
数据库服务可提高nice值,后台任务降低优先级。
实时系统慎用SCHED_FIFO,防止饥饿。
用cpulimit或cgroups更精细控制。
你自己掂量。

Linux如何使用renice修改进程优先级

renice -2 0 -p 1 2 3 4 ps -l | grep 1 2 3 4 renice -1 0 -u john renice -g 1 00 -p 2 3 4 5 renice: permission denied renice 5 -g top renice 1 9 -p 9 8 7 6 renice 1 0 -u alice renice: command not found renice -u renice -2 0 -p $(pgrep -f "service-name") ps -l | grep -v PID | grep NI top -b -o cpu renice 1 0 -p 3 4 5 6 ps -l | grep 3 4 5 6 监控CPU使用率,定期检查进程优先级调整效果