我正在运行 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%,这意味着任何给定系统的“硬”限制大约是默认值的十倍。