我拉到顶部,发现一个程序正在使用约 80-90% 的 CPU。我增加了niceness,看看是否可以减少负载。然后我尝试将同一过程的好处降低到初始水平,并被告知我没有适当的权限。这里所需的特权差异是否有充分的理由?
是的。当系统中的每个用户都有可能降低其进程的性能时,每个用户都可能导致其他进程陷入饥饿。
Linux 内核中的进程优先级确实有一定的意义。如果你给一个进程一个好的值,-20
它就会获得大量的CPU时间。这就是为什么只能root
减少这些值。
Eliah Kagan建议的补充:
为什么用户无法将自己的流程恢复到他们自己开始时的良好级别?
关键是,系统并没有注意到是谁增加了好感度。因此,没有任何机制可以查明您是否root
继续这样做。
另一种方法是:普通用户不应该能够覆盖特权用户的操作。如果root
已登录并且他想要将您的流程的友好性更改为20
:他可以,并且应该禁止您撤消该更改。除非内核不记得是谁做了善意的更改,否则您将被禁止。
也许有一天,Linux 内核开发人员会将该功能包含到内核代码中。您可以提出功能请求。但是,请注意,内核开发人员不会仅仅因为新东西很酷就喜欢它。
归档时间: |
|
查看次数: |
1295 次 |
最近记录: |