如果我想检查是否达到了 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)
了解详情)。