每个进程的最大打开文件数限制 - Linux 内核

每个进程的最大打开文件数限制 - Linux 内核

最大打开文件描述符(进程限制)似乎有一个硬编码上限 1048576,这是正确的吗?

如果最近发生了变化,我的版本:

Linux mq981 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 13:41:29 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

答案1

它并不像您所说的那么硬编码。您的系统的最大数量是

 cat /proc/sys/fs/file-max 

对我来说,这将是 3257198。如果您喜欢冒险(即时更改内核参数,mmmmmm),您可以更改该数字。

绝对最大值由以下事实给出:这是longC 中的整数,因此最大值为 2147483647。

在每个进程的基础上,最大值是

cat /proc/sys/fs/nr_open

(在我的系统上也是你的 1048576)。

从技术上讲,这是一个 unsigned long (请参阅;在 中fs.h搜索。但是,每个进程打开的文件数必须低于系统范围的最大值,因此它应该低于 2147483647 或低于您的值。unsigned long max_files;struct files_stat_structcat /proc/sys/fs/file-max

答案2

cat /proc/sys/fs/nr_open

您可以通过写入该文件来更改它,它不是硬编码的。

实际可以设置的上限是多少更大

相关内容