在 Fedora FC20 上。/etc/security/limits.conf 具有:
* soft nofile 60000
* hard nofile 60000
* soft nproc 30000
* hard nproc 30000
通过 GDM 登录并打开 shell 后,限制60000
针对的是文件(右)和1024
进程数。
我试图了解 GDM (或启动 X 会话过程中的其他程序) 如何设置 ulimit,特别是限制nproc
。我尝试插入ulimit -u 30000
,/etc/X11/xinit/Xsession
但这也无济于事。
配置文件中的任何地方都没有 ulimit 语句,无论是在/etc/
还是在~/
(我关心的原因是因为我有 X 个应用程序由于这个 ulimit 而开始用尽 fork,而且我不想从终端运行它们)。
答案1
在较新的 Linux 上,当您在查看中设置限制时/etc/security/limits.conf
(尤其是当更改似乎不起作用时)/etc/security/limits.d/
。此目录中的文件在之后处理limits.conf
,并按顺序覆盖任何更改。
具体解决https://bugzilla.redhat.com/show_bug.cgi?id=432903nproc
,对除 root 之外的所有用户设置了软上限,
防止意外的叉炸弹。
换句话说,始终检查/etc/security/limits.conf
您/etc/security/limits.d/
的 ulimits(并彻底阅读 limits.conf(5),我应该在一开始就这样做)。