我刚刚了解到nice(和ionice)的存在,这似乎非常有趣。
我只想启动一个优先级低于我通常使用的“p_normal”进程“p_low”。
我能够从中得到什么维基页面(唯一向我展示资源如何分配的来源)是:
以nice +15运行的进程将获得分配给普通优先级进程的CPU时间的25%:(20 − 15)/(20 − 0) = 0.25
因此,基于此,如果“nice -18 p_low”,我可以为我的 p_low 进程提供 10% 的 CPU 时间
太棒了如果我的“p_normal”正在运行。
所以问题是:有没有办法告诉调度程序使用默认的niceness值,并且当有其他东西运行时只有-18?
在最坏的情况下,我可以制作一个脚本来检查是否有其他东西正在运行,并“调整”我的进程,但这对我来说似乎不是最好的选择......
编辑:
回答: 正如 @jilliagre 在他的回答下面的评论中指出的:
如果没有其他东西在运行,则无论给定的好坏如何(-18、0、+18、...),该命令都将获得 100% 的 CPU
答案1
你错过了美好的作品。它只是向调度程序发出一个提示,让其在出现 CPU 瓶颈时优先考虑某些进程而不是其他进程。
如果没有其他东西在运行,无论其性能如何,您的进程都将被授予所有 CPU 功率,因此无需在特定情况下更改性能。