我试图了解这些限制是如何工作的。但我无法弄清楚,为什么在存在硬限制时首先需要软限制。我浏览过的大多数网站都在谈论它们是什么,但没有提到它们是如何工作的。
在流程的背景下,谁能解释一下这些是如何工作的?
谢谢你。
我试图了解这些限制是如何工作的。但我无法弄清楚,为什么在存在硬限制时首先需要软限制。我浏览过的大多数网站都在谈论它们是什么,但没有提到它们是如何工作的。
在流程的背景下,谁能解释一下这些是如何工作的?
谢谢你。
让我们考虑一个用户abc
,其进程数设置为
abc soft nproc 1024
abc hard nproc 20000
当该用户登录时,该用户应用了有效的进程软限制,即abc
最多可以运行1024个进程。当此限制用完时,除非进一步增加软限制,否则用户将无法再运行任何进程。
此时,用户可以选择增加(但不应大于硬限制)进程限制。
如果用户尝试将其增加到21000
(高于 的硬限制20000
)
ulimit -S -u 21000
-bash: ulimit: max user processes: cannot modify limit: Operation not permitted
但是可以将其设置为小于或等于硬限制的任何值。增加硬限制只能通过root
.
我们不能只使用硬限制吗?
我们可以。
abc soft nproc 20000
abc hard nproc 20000
将软限制设置为硬限制将使硬限制成为abc
用户的默认限制。但不建议这样做,因为它可能导致单个用户耗尽可以完全生成的大部分进程(如果限制设置相对较高)(pid_max
)。