【问题标题】:What is the way to find file descriptor ulimit in Linux在Linux中找到文件描述符ulimit的方法是什么
【发布时间】:2017-07-08 23:11:31
【问题描述】:

我有一些服务器,其中 ulimit 设置为 65536,而在一些 200000 中。不确定取决于它所采用的参数,参考给出的问题 [On Linux - set maximum open files to unlimited. Possible?

但仍然不清楚,是什么决定了我们可以设置的文件描述符的最大限制?它取决于内存吗?操作系统版本或者它可以是任何东西。或者我可以放任何1024以上的随机数吗?

【问题讨论】:

  • 因为我们也可以编辑 /proc/sys/file-max 所以我无法找到我可以设置的最大文件描述符限制是多少,并且系统可以支持而不会发生任何崩溃

标签: linux ulimit


【解决方案1】:

根据proc(5) 手册页,fs.file-max sysctl 适用于所有进程的打开文件数。不过,特权进程 (CAP_SYS_ADMIN) 可以覆盖文件最大限制。

要设置每个进程的限制,您必须使用 RLIMIT_NOFILE 运行 setrlimit(2)。请注意软限制和硬限制之间的区别。

【讨论】:

  • 我的问题是我可以设置的限制究竟是什么以及它取决于哪些参数?我可以解释你的意思是说运行 setrlimit 命令会给我最大数量,是吗?因为我没有找到这样的命令
  • setrlimit() 是一个系统调用。该命令(从 shell 内置)是 ulimit。要查看软限制:ulimit -a。查看硬限制:ulimit -Ha。您可以将软限制提高到硬限制。只有超级用户可以提高其硬限制。要为用户设置限制,您必须编辑 /etc/security/limits.conf。如果限制太小,请在 syslog 中查找“VFS: file-max limit ”错误消息。初始值取决于可用内存的数量。运行 help ulimit 以查看用于设置每个限制的标志。
猜你喜欢
  • 1970-01-01
  • 2017-04-13
  • 2012-06-18
  • 1970-01-01
  • 1970-01-01
  • 2021-11-20
  • 1970-01-01
  • 2013-03-20
  • 2011-04-10
相关资源
最近更新 更多