ulimit 与文件最大限制

ulimit 与文件最大限制

有人可以解释一下linux中打开文件的限制吗?问题是我的应用程序之一报告“打开文件太多”。

我有

ulimit -n
1024

cat /proc/sys/fs/file-max
6578523

cat /proc/sys/fs/file-nr
1536

所以我已经有 1536 > 1024。ulimit -n那是什么呢?这很令人困惑。

答案1

ulimit显示每个进程的最大值。下面的两个文件/proc显示了系统范围的编号。


服务器故障:

file-max是在内核级别强制执行的最大文件描述符 (FD),所有进程都不能在不增加的情况下超过该值。是ulimit在进程级别强制执行的,该级别可能小于file-max

http://www.linuxvox.com/post/what-are-file-max-and-file-nr-linux-kernel-parameters/:

是什么file-max?我们应该将其调整到什么程度?Linux 文档定义表示file-maxLinux 内核将分配的文件句柄的最大数量。

[...]

我如何知道我的服务器是否即将达到此限制?运行命令:cat /proc/sys/fs/file-nr。这将返回三个值,分别表示已分配的文件句柄的数量、已分配但未使用的文件句柄的数量以及文件句柄的最大数量。请注意,这file-nr不是一个可调参数。它仅供参考。在我的服务器上,返回:3488 0 793759。这意味着目前我的服务器仅分配了 793,759 分配限制中的 3488,并且目前没有达到此限制的危险。

相关内容