关于限制文件描述符的数量

About limiting the number of file descriptors

我有一个关于限制 FD(文件描述符)的问题:

当我在使用"ulimit -n 1000000"时,表示程序最多允许使用1000000个FD资源,

但是"cat /proc/sys/fs/file-max"显示总共有803766个FD可用,小于1000000

那么,该程序能够使用的 FD 数量是多少,1000000 还是 803766?

/proc/sys/fs/file-max 优先于 shell.

中的任何 ulimit 设置

超过 /proc/sys/fs/file-max 的是给定机器上所有进程打开的 FD 总数。

ulimit 设置是针对每个进程的,所以任何新启动的进程都会有给定的限制(除非在系统中超过总形式file-max)。