有人能解释一下linux中打开的文件的限制吗?问题是我的一个应用程序如果报告“太多打开的文件”。
我有过
ulimit -n
1024但
cat /proc/sys/fs/file-max
6578523和
cat /proc/sys/fs/file-nr
1536所以我已经有1536 > 1024了。那么ulimit -n是什么?这很让人困惑。
发布于 2018-06-03 08:40:42
ulimit显示每个进程的最大值./proc下的两个文件显示了系统范围内的数字。
来自ServerFault:
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-max表示Linux内核将分配的文件句柄的最大数量。...,我如何知道我是否接近于在我的服务器上达到这个极限?运行命令:cat /proc/sys/fs/file-nr。这将返回三个值,表示分配的文件句柄的数量、已分配但未使用的文件句柄的数量以及文件句柄的最大数量。注意,file-nr不是可调参数。它只提供信息。在我的服务器上,它返回:3488 0 793759。这意味着,目前,我的服务器只分配了793,759个分配限制中的3488个,此时没有达到这个限制的危险。
https://unix.stackexchange.com/questions/447583
复制相似问题