开发者社区 问答 正文

ulimit参数中openfile和max user process为什么一般设置为65535

/etc/security/limits.d/20-nproc.conf和/etc/security/limits.conf哪个生效

展开
收起
2big5b7y5kqbo 2021-10-22 12:29:43 575 分享 版权
阿里云 AI 助理回答

在Linux系统中,/etc/security/limits.d/20-nproc.conf/etc/security/limits.conf 都是用来设置用户资源限制的配置文件。这两个文件都是limits.conf配置架构的一部分,但它们之间存在一定的优先级和处理顺序。

  • /etc/security/limits.conf 是传统的位置,用于定义各种用户和进程的资源限制,如最大打开文件数、最大进程数等。
  • /etc/security/limits.d/ 目录则是为了提供一种更模块化的方式来管理这些限制。系统或管理员可以在这个目录下放置多个配置文件(如20-nproc.conf),每个文件针对不同的限制或服务进行配置。

当系统解析这些限制时,通常会先读取/etc/security/limits.conf中的全局设置,然后依次读取/etc/security/limits.d/目录下的文件。这意味着如果同一个限制在limits.conflimits.d目录下的某个文件中都被设置了,那么按照读取顺序,后读取的设置可能会覆盖之前的设置。具体到文件名20-nproc.conf,数字前缀表示了加载顺序,数值越小,文件越先被读取和应用。

因此,如果/etc/security/limits.d/20-nproc.conf/etc/security/limits.conf中都设置了相同的限制,且没有其他特殊处理逻辑的话,通常是20-nproc.conf中的设置生效,因为它作为limits.d目录下的一个文件,可能比直接修改limits.conf要晚被读取,除非有更低序号(数字更小)的文件或者特定的处理规则改变了这一默认行为。

请注意,实际的行为还可能受到Linux发行版的具体实现和版本差异的影响,建议查阅相应系统的官方文档以获取最准确的信息。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: