如何在Linux中更改每个用户的默认最大进程数?

5

我遇到了一个问题,即如何更改Linux中用户默认进程数。我尝试编辑/etc/security/limits.conf文件,并添加以下行:

malintha hard nproc 10000

保存后,我在终端上尝试执行以下命令:
ulimit -u

它会给出先前的值(1024),而不是更新后的值。我该如何永久地解决这个问题?

这是我的limits.conf文件


2
你是否注销并重新登录? - fedorqui
嗯,ulimit 是特定于 shell 的,另一方面,更改 /etc/security/limits.conf 与 PAM 相关,请参阅 man pam 了解详细信息。更改 /etc/security/limits.conf 不应影响 ulimit。 - rakib_
本文回答了您的问题:http://www.cyberciti.biz/tips/linux-limiting-user-process.html - Nikos C.
2个回答

4

这里的问题在于你在

malintha hard nproc 10000

中指定了 "hard"。 "hard" 是 "max" 限制,而 "soft" 是默认限制。因此,你可以将其保留为 "hard",然后使用 ulimit -u 1000。在那之后的进程(仅针对该 bash shell)将具有增加的限制。或者选择 "soft",这将成为由您的用户启动的所有进程的默认值 [请记得在每次更改时注销并重新登录]。

对于那些试图弄清楚为什么他们被限制为[例如] 1024个最大线程的用户,还应注意它读取/etc/security/limits.conf文件和其他/etc/security/limits.d/*文件。


0

编辑该文件需要服务器重启,您可以使用更简单的方法:

chuser nofiles=10000 malintha

从控制台断开连接,然后使用用户名malintha重新连接。使用ulimit -n,输出应该是10000


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接