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

为给定用户设置默认的好值(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

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

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

谢谢非常提前寻求任何帮助。我正在使用 debian不稳定(最新)。

语境:

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

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

答案1

我相信正确的格式是:

@users      -       priority        10
username    -       priority        19

这是我在生产中使用的设置示例(显然是针对真实用户/组)。

nice设置是为了确定某人可以为其进程设置的最小 nice 值(即最大优先级),而不是其默认优先级。

答案2

我可以确认这在我的系统上也不起作用。文档说“内核 2.6.11 及更高版本”,而我使用的是带有内核 2.6.38-rc6 的 Fedora rawhide。我想知道它是否依赖于调度程序,并且不能与 2.6.23 中引入的 CFQ(“完全公平调度程序”)一起使用。

不过,有一个有用的东西,那就是因为名字太可怕而无法搜索的东西and——auto-nice 守护进程。看 http://and.sourceforge.net/。 Fedora 中提供了此功能yum install and,但不幸的是 EPEL 中似乎没有。 Debian 中也有:apt-get install and.

不过,如果您使用的是现代发行版,还有更好的方法。您可以使用以下工具libc组设置内核级组组限制 CPU 份额,并自动将该用户的进程“分类”到此 cgroup 中。这样,您还可以确定 I/O 的优先级,并限制内存使用(包括磁盘缓存的共享)。

相关内容