Jon Asked: 2010-02-24 04:11:45 +0800 CST2010-02-24 04:11:45 +0800 CST 2010-02-24 04:11:45 +0800 CST 如何为非 root 用户设置“每个进程的最大线程数”ulimit? 772 Ulimit 手册页建议 -r 选项将设置此选项,但它似乎仅对 root 用户有效,并且没有通过 /etc/security/limits 设置它的等效项? 有任何想法吗? unix ulimit 1 个回答 Voted Kyle Brandt 2010-02-24T04:26:51+08:002010-02-24T04:26:51+08:00 您说的是 AIX,但在 linux 的情况下,我认为它只是-u限位开关。在 Linux 中,这表示“进程”,但对于 bash,ulimit 只是 setrlimit 系统调用的接口。这可以通过运行strace bash -c 'ulimit -u 10'which 返回: setrlimit(RLIMIT_NPROC, {rlim_cur=10, rlim_max=10}) = 0 setrlimit 的手册页指出: RLIMIT_NPROC可以为调用进程的真实用户 ID 创建的最大进程数(或更准确地说,在 Linux 上是线程)。遇到此限制时,fork(2) 将失败并显示错误 EAGAIN。 那么对于 AIX 来说可能是一样的吗? 此链接指出:“AIX 未定义 RLIMIT_NPROC 或 RLIMIT_MEMLOCK 资源。”,但您可能能够在 developerworks 上找到更明确的答案。 对于权限问题,解决方案可能是用root设置限制,然后su到你需要增加限制的用户。过去我不得不为其他资源限制执行此操作,例如最大打开文件。没有应用limits.conf,所以我确实从root使用sudo或su,然后限制被继承。
您说的是 AIX,但在 linux 的情况下,我认为它只是
-u
限位开关。在 Linux 中,这表示“进程”,但对于 bash,ulimit 只是 setrlimit 系统调用的接口。这可以通过运行strace bash -c 'ulimit -u 10'
which 返回:setrlimit 的手册页指出:
那么对于 AIX 来说可能是一样的吗? 此链接指出:“AIX 未定义 RLIMIT_NPROC 或 RLIMIT_MEMLOCK 资源。”,但您可能能够在 developerworks 上找到更明确的答案。
对于权限问题,解决方案可能是用root设置限制,然后su到你需要增加限制的用户。过去我不得不为其他资源限制执行此操作,例如最大打开文件。没有应用limits.conf,所以我确实从root使用sudo或su,然后限制被继承。