对已经在运行中的进程来说,renice算是最省事也最稳妥的优先级调整手段。普通用户通常只能把nice值调高,也就是让进程优先级往下降;只有root才有权限把nice值调低,甚至设成负值。它还支持按PID、按用户,或者按进程组进行批量修改。改完之后,最好再配合ps或top确认一下ni值有没有真正生效。

Linux怎么调整进程的优先级

renice 是调整已运行进程优先级最直接、最可靠的方式,普通用户能调高(nicer 值变大),root 才能调低或设负值。

renice 动态改正在跑的进程

renice 不重启进程就能生效,但权限限制很实际:普通用户只能把自家进程的 ni 值往大了调(比如从 0 改成 10),不能设负数,也不能碰别人家的进程。root 没这限制。 注意:renice 改的是 ni 字段,不是 pripri 是算出来的(≈ 80 + ni),别指望手动写进 /proc/PID/stat —— 那个文件只读,硬写会失败。

top 交互式快速定位再改

适合临时调试,不用记 PID,但得在 top 界面里操作,且只对 SCHED_OTHER 类进程有效(绝大多数普通进程都是)。 别在 top 里输错两次以上,有些系统会直接退出交互模式,得重进。

启动时就设好优先级:nice 命令

适用于还没跑起来的命令,一劳永逸,不依赖进程是否存活。 nice 设的值是初始 ni,后续还能被 renice 覆盖;但它不能用于已存在的进程 —— 那是 renice 的地盘。

验证改没改成功,别信感觉

改完不验证等于没改。必须看 ps 输出里的 ni 和计算出的 pri 是否符合预期。 ni 显示为 - 通常表示该进程不受 CFS 调度器管理(比如用了 SCHED_FIFO),这时 renice 无效,得用 chrt
本文转载于:https://www.php.cn/faq/2993478.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。