尝试增加 Ubuntu 20.04 (LTS) x64 上的系统范围文件描述符数量,当前作为 DigitalOcean 中的 droplet 运行。按照此处概述的流程;简要总结如下:
- 使用
ulimit -n
...打印1024✅ - 添加
fs.file-max=900000
和fs.nr_open=9000001
至/etc/sysctl.conf
- 执行
sysctl -p
以使更改生效。 - 用来
ulimit -n
仔细检查更改...打印 1024 ❌ 应该打印900000!。
我希望在步骤 4 中得到除 1024 以外的值!我做错了什么?
答案1
最大文件描述符限制和 ulimit 是不同的数字。默认情况下,ulimit 设置为 1024,在大多数情况下可能不应更改,因为一些较旧的库具有用于文件描述符的内部硬编码数组,如果将其增加到 1024 以上,可能会崩溃。
打开文件的 ulimit 是软限制,可以手动或由进程本身提高。例如,ulimit -n 9000
通过设置fs.file-max=900000
你可能实际上降低打开文件限制,在 Ubuntu 20.04 上默认情况下这个限制要高得多。