在 Linux 上设置文件数量限制的最正确方法是什么?

What is the most correct way to set limits of number of files on Linux?

有 3 种方法可以设置 Linux 上的文件和套接字数量限制:

  1. echo "100000" > /proc/sys/fs/file-max
  2. ulimit -n 100000
  3. sysctl -w fs.file-max=100000

有什么区别?

在 Linux 上设置文件数量限制的最正确方法是什么?

sysctl 是一个用于写入 /proc/sys 的接口,与直接回显到文件的作用相同。 sysctl 适用于整个文件系统,而 ulimit 仅适用于来自 shell 的写入和由 shell.

启动的进程