为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

哆啦的时光机 2019-06-27 16:54:56
在运行我的应用程序时,我有时会收到关于too many files open.跑动ulimit -a报告说限制是1024。如何将上限提高到1024以上?编辑 ulimit -n 2048导致权限错误。如何更改Linux中开放文件的数量限制?
查看完整描述

3 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

你可以试着做一个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命令。


查看完整回答
反对 回复 2019-06-27
  • 3 回答
  • 0 关注
  • 598 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信