![为什么ulimit限制会受到其他进程的影响?](https://linux22.com/image/226011/%E4%B8%BA%E4%BB%80%E4%B9%88ulimit%E9%99%90%E5%88%B6%E4%BC%9A%E5%8F%97%E5%88%B0%E5%85%B6%E4%BB%96%E8%BF%9B%E7%A8%8B%E7%9A%84%E5%BD%B1%E5%93%8D%EF%BC%9F.png)
我有一些进程创建大量线程(使用 python ray 模块),例如 32 (proc) * 120(每个 proc 线程)。
然后我发现其他进程在创建线程时会失败,而它们的 nTH 实际上很小(例如创建新ssh localhost
连接,或top
在其他 shell 中使用),远小于ulimit -a
.
我想知道这ulimit
是用户范围限制还是进程范围限制?如果是后者,为什么会受到其他进程的影响?
答案1
如果您检查主配置文件的限制 ( limits.conf
),您将看到第一列是域。在此列中,您可以使用:(*
适用于所有人的通配符)、username
(适用于用户限制)和groupname
(适用于应用限制的组)。
因此,默认情况下,Linux 中的限制适用于每个用户,而不是每个进程。