2017-03-03 114 views
1

我想了解这些限制是如何工作的。 但我无法弄清楚,为什么软限制在硬限制出现时首先需要。 我经历过的大多数网站都在谈论他们是什么,但没有提到他们是如何工作的。Linux中的硬限制和软限制

在进程的上下文中,任何人都可以解释它是如何工作的?

谢谢。

+0

检查此[soft-limit-vs-hard-limit](http://serverfault.com/questions/265155/soft-limit-vs-hard-limit) – franklinsijo

+0

@franklinsijo我已阅读此内容。它解释了它们是什么。但这并不能解释为什么首先需要软限制?我们不能只用硬限制吗? – RV186

回答

0

让我们考虑一个用户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)。