Linux上的最大打开文件限制是多少?

kin*_*cky 13 linux ulimit

在Linux上,当进程打开文件时,操作系统将检查最大打开文件限制.

如果限制是1024,这个数字是什么意思?

它代表了吗?

  • 进程打开的文件数
  • 拥有该进程的用户打开的文件数
  • 当前OS中所有已打开文件的数量?

Sat*_*ish 15

您可以通过ulimit -a命令检查系统的软限制和硬限制.

  1. 软限制只是当前强制限制.
  2. 硬限制标记设置软限制不能超过的最大值.

软限制可以由任何用户设置,而硬限制只能由root更改.限制是流程的属性.它们在创建子进程时继承,因此应在init脚本的系统初始化期间设置系统范围的限制,并且应在用户登录期间设置用户限制,例如使用pam_limits.

机器启动时通常会设置默认值.因此,即使您可能在单个shell中重置ulimit,您可能会发现它在重新引导时重置为先前的值.如果要更改默认值,可能需要为启动ulimit命令grep启动脚本.

如果限制为1024,则表示您/进程可以打开最多1024个文件.如果超出这个限制意味着open,pipedup系统调用将失败:

RLIMIT_NOFILE:

指定的值大于此进程可以打开的最大文件描述符编号.尝试(open(2),pipe(2),dup(2)等),超过此限制产量的错误EMFILE.