Linux会自动改变流程的好坏吗?

Modified on: Sat, 30 Jun 2018 06:48:00 +0800

我知道你可以用setprioritynicerenice来改变流程的好处。

但是,Linux是否会在没有用户输入的情况下自动调整/更改流程的好处?

我有一个在C中使用setpriority的过程,如下所示:

setpriority(PRIO_PROCESS, 0, -1)

当进程运行时,我可以通过运行 htop 看到它的niceness值现在为-1。

在调查远程计算机上的崩溃时,htop的输出已提供给我。我注意到这个进程的niceness值已经在一个实例上更改为0,在另一个实例上更改为6.我想知道内核是否更改了这个值,或者更改此值的唯一方法是让用户或剧本故意做出改变。

作者:,Luis

最佳答案

据我所知,Linux内核并没有改变进程的优点,我不明白为什么会这样做,因为它不必降低进程的优先级。好的是给内核的信息,告诉它该过程是多么好。内核调度程序可以自由地将此信息考虑在内,以便更改进程的优先级,但不需要更改其值。

另一方面,在用户土地上,有像AND这样的守护进程,其任务是根据管理员设置的规则。你的服务器上安装了这样的守护进程吗?

但是,AND守护进程不会重新获取root拥有的进程,并且由于您使用-1设置setpriority()的优先级,我认为是这种情况这里。因此,我看到好的变化的唯一原因是用户交互。

那就是说,因为你正在使用htop,所以有可能通过按] 键或 F8 关键。

作者:xhienne

相关问答

添加新评论