如何找到 /proc/sys/fs/file-max 的最大限制

如何找到 /proc/sys/fs/file-max 的最大限制

我正在运行 Jenkins 进行大量作业,这些作业需要大量打开文件,因此我将file-max限制增加到 300 万个。有时仍然会达到 300 万,所以我想知道我能走多远。我可以设置/proc/sys/fs/file-max为1000万吗?

我怎么知道的硬限制是什么file-max

我正在运行CentOS 7.7(3.10.X内核)

答案1

内核本身不会对 的值施加任何限制file-max,除了其类型所施加的限制(unsigned long,因此在典型的 32 位系统上为 4,294,967,295,在典型的 64 位系统上为 18,446,744,073,709,551,615)。

但是每个打开的文件都会消耗大约 1 KB 内存,因此您将受到所安装的物理 RAM 量的限制;一千万个打开的文件将消耗大约十 GB 的内存。内核file-max在启动时初始化为可用内存的 10%,这意味着任何给定系统的“硬”限制大约是默认值的十倍。

相关内容