ulimit -Hn的限制

The limit of ulimit -Hn

通过反复试验,我发现我可以给 ulimit -Hn 而不会出错的最大数字是 1048576。这个数字从何而来?我的sys.fs.file-max20000500(两千万)。

实际上,这是硬编码在 Linux 内核中,在 fs/file.c:

int sysctl_nr_open __read_mostly = 1024*1024;

并且正好等于您指定的数字。

试图使其无限的相关提交:

看起来它从那以后就再也没有被碰过。

实际上,可以提高此限制。设置 fs.nr_open=5242880/etc/sysctl.conf、运行 sysctl -p 中重新登录。你的极限是现在 500万!设置这个和文件最大值。