如何更改Linux中开放文件的数量限制?

在运行我的应用程序时,我有时会收到关于too many files open.

跑动ulimit -a报告说限制是1024。如何将上限提高到1024以上?

编辑 ulimit -n 2048导致权限错误。

如何更改Linux中开放文件的数量限制?

哆啦的时光机
浏览 599回答 3
3回答

慕姐4208626

你可以试着做一个ulimit -n 2048..这只会重置当前shell的限制,您指定的数字不能超过硬限制。每个操作系统在配置文件中都有不同的硬限制设置。例如,Solaris上的硬打开文件限制可以在从/etc/system启动时设置。set rlim_fd_max = 166384 set rlim_fd_cur = 8192在OSX上,必须在/etc/sysctl.conf中设置相同的数据。kern.maxfilesperproc=166384 kern.maxfiles=8192在Linux下,这些设置通常位于/etc/security/Limited s.conf中。有两种限制:软限制只是当前强制执行的限制。硬通过设置软限制来标记不能超过的最大值。软限制可以由任何用户设置,而硬限制只能通过根来更改。限制是一个过程的属性。它们是在创建子进程时继承的,因此在init脚本中的系统初始化期间应该设置系统范围的限制,用户登录时应该设置用户限制,例如使用pam_Limits。机器启动时通常会设置默认值。因此,即使您可以在一个单独的shell中重置您的uLimed,您可能会发现它在重新启动时会重置回以前的值。如果您想要更改默认值,您可能希望grep您的启动脚本的存在uLimed命令。
打开App,查看更多内容
随时随地看视频慕课网APP