【问题标题】:Hard Limits and Soft limits in LinuxLinux 中的硬限制和软限制
【发布时间】:2017-07-23 13:39:25
【问题描述】:

我试图了解这些限制是如何运作的。 但我无法弄清楚,为什么在存在硬限制时首先需要软限制。 我浏览过的大多数网站都在谈论它们是什么,但没有提到它们是如何工作的。

在流程的上下文中,谁能解释一下这些是如何工作的?

谢谢。

【问题讨论】:

  • @franklinsijo 我读过这个。它解释了它们是什么。但这并没有解释为什么首先需要软限制?我们不能只使用硬限制吗?

标签: hadoop-yarn ulimit cgroups workload


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2017-11-29
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 2019-08-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多