limit.conf中的nproc是指进程数还是线程数?

limit.conf中的nproc是指进程数还是线程数?

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

相关内容