![limit.conf中的nproc是指进程数还是线程数?](https://linux22.com/image/98281/limit.conf%E4%B8%AD%E7%9A%84nproc%E6%98%AF%E6%8C%87%E8%BF%9B%E7%A8%8B%E6%95%B0%E8%BF%98%E6%98%AF%E7%BA%BF%E7%A8%8B%E6%95%B0%EF%BC%9F.png)
如果我想检查是否达到了 nproc 值的最大值,我应该这样做:
ps -ef | wc -l
或者
ps -efL | wc -l
nproc in 是limits.conf
指进程数还是线程数?
答案1
在 Linux 上,它指的是线程数。从setrlimit(2)
(这是用于设置限制的系统调用):
RLIMIT_NPROC
可以为调用进程的真实用户 ID 创建的最大进程数(或者更准确地说,在 Linux 上为线程数)。遇到此限制时,
fork(2
) 将失败并出现错误EAGAIN
。对于具有CAP_SYS_ADMIN
或能力的进程,不强制执行此限制CAP_SYS_RESOURCE
。
那么ps -efL | wc -l
更合适的是然而limits.conf
每个登录会话适用的限制(请参阅limits.conf(5)
了解详情)。