设为首页 收藏本站
查看: 1427|回复: 0

[经验分享] linux 打开文件数 too many open files解决方法

[复制链接]

尚未签到

发表于 2019-1-27 14:45:54 | 显示全部楼层 |阅读模式
  在运行某些命令或者 tomcat等服务器持续运行 一段时间后可能遇到   too many open files。
  出现这句提示的原因是程序打开的文件/socket连接数量超过系统设定值。
查看每个用户最大允许打开文件数量
  ulimit -a

  其中 open files (-n) 8192 表示每个用户最大允许打开的文件数量是8192 。 默认是1024。1024很容易不够用。
查看当前系统打开的文件数量
  lsof | wc -l
  watch "lsof | wc -l"
  lsof只能以root权限执行。
  在终端下输入lsof即可显示系统打开的文件,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用户的身份运行它才能够充分地发挥其功能。
查看某一进程的打开文件数量
  lsof -p pid | wc -l
  lsof -p 1234 | wc -l
设置open files数值方法
  ulimit -n 2048
  这样就可以把当前用户的最大允许打开文件数量设置为2048了,但这种设置方法在重启后会还原为默认值。
  ulimit -n命令非root用户只能设置到4096。
  想要设置到8192需要sudo权限或者root用户。

永久设置方法
  要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:
  session required /lib/security/pam_limits.so
  vim /etc/security/limits.conf
  在最后加入
  * soft nofile 4096
  * hard nofile 4096
  或者只加入
  * - nofile 8192
  最前的 * 表示所有用户,可根据需要设置某一用户,例如
  fdipzone soft nofile 8192
  fdipzone hard nofile 8192
  注意"nofile"项有两个可能的限制措施。就是项下的hard和soft。 要使修改过得最大打开文件数生效,必须对这两种限制进行设定。 如果使用"-"字符设定, 则hard和soft设定会同时被设定。
  改完后注销一下就能生效。
  如果是puty等工具远程登录的  重新登录就生效了。不需要重启。
  linux limits.conf配置说明
  先看这个文件的简介,有英文基础的应该明白这资源限制到底限制了什么!!

  limits.conf的格式如下:
  username|@groupname type resource limit
  username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。
  type:有soft,hard以及-,soft指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft的限制不能比hard限制高。用-就表明同时设置了soft和hard的值。
  resource:
  core - 限制内核文件的大小
  date - 最大数据大小
  fsize - 最大文件大小
  memlock - 最大锁定内存地址空间
  nofile - 打开文件的最大数目
  rss - 最大持久设置大小
  stack - 最大栈大小
  cpu - 以分钟为单位的最多CPU时间
  noproc - 进程的最大数目
  as - 地址空间限制
  maxlogins - 此用户允许登录的最大数目
  要使limits.conf文件配置生效,必须要确保 pam_limits.so文件被加入到启动文件中。
  查看 /etc/pam.d/login 文件中有:(没有就添加)
  session required /lib/security/pam_limits.so
  注意:
  好多人设置了limitc.conf没有测试,测试后发现没有生效
  原因大多数为:
  32系统 session required /lib/security/pam_limits.so
  64位系统 session required /lib64/security/pam_limits.so


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-668333-1-1.html 上篇帖子: vmware:Cannot open the disk 'XXX' or one of the snapshot disks it depends on. 下篇帖子: Ubuntu E: 无法获得锁 /var/lib/dpkg/lock - open (11:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表