相关疑难解决方法(0)

为什么我不能使用 renice 来增加进程的 nice 值?

来自man renice

超级用户以外的用户只能改变他们拥有的进程的优先级,并且只能在 0 到 PRIO_MAX (20) [...]

所以,我可以renice向上处理我自己的进程(给它们较低的优先级)但永远不会向下:

$ renice 10 22316
22316 (process ID) old priority 0, new priority 10
$ renice 9 22316
renice: failed to set priority for 22316 (process ID): Permission denied
Run Code Online (Sandbox Code Playgroud)

为什么是这样?我可以理解为什么普通用户不能将 nice 值设置为低于 0,但是为什么既然我可以将优先级降低到 10,我就不能再将它提高到 9?这有什么“安全原因”?我有权启动一个nice值为9的进程,那么为什么我不能将它重新设置为9呢?


编辑:我应该学会向下滚动。原来这被列为一个错误man renice

BUGS
     Non super-users can not increase scheduling priorities of their own
     processes, even if they were the ones that decreased the priorities 
     in the first place.
Run Code Online (Sandbox Code Playgroud)

这更令人困惑。如果他们认为这种行为是一个错误,为什么不改变它呢?该 …

priority nice

29
推荐指数
2
解决办法
2万
查看次数

为给定用户设置默认 nice 值 (limits.conf)

有人能告诉我如何设置用户的默认值nice(如 所示top)?我发现 /etc/security/limits.conf 是这个地方,但如果我把:

username_of_a_guy  -  nice  19
username_of_a_guy  soft  nice  19
username_of_a_guy  hard  nice  19
Run Code Online (Sandbox Code Playgroud)

它不起作用(虽然它应该,对吧?)。

请注意,我从那时起就重新启动了。

非常感谢您提供任何帮助。我正在使用 debian 不稳定(最新)。

语境:

在我的工作中,我们有一个本地网络:每个人都有自己的计算机,如果愿意,每个人都可以在其他人的计算机上创建一个帐户。经验法则很简单,如果您在其他人的计算机上工作,请改善您的流程 ( nice 19)。

我想一劳永逸地将给定用户的默认 nice 值设置为 19。

login limit nice

13
推荐指数
1
解决办法
2万
查看次数

标签 统计

nice ×2

limit ×1

login ×1

priority ×1