美文网首页
ubuntu修改open files不生效

ubuntu修改open files不生效

作者: ibadplum | 来源:发表于2019-12-01 16:15 被阅读0次

    正常在Linux下,对最多打开的文件描述符的限制设置有两个地方:

    sudo sysctl -a | grep file-max 是全局最多可打开文件描述符设置
    sudo ulimit -n 是单进程最多可打开的文件描述符设置
    全局的修改比较容易,只需要在/etc/sysctl.conf中添加fs.file-max并指定值即可,如fs.file-max = 6553500。然后sysctl -p 生效。

    可以用cat /proc/sys/fs/file-max, cat /proc/sys/fs/file-nr 查看。

    单进程就比较坑了,我当前用的是Ubuntu 18.04,若仅是Server版本Ubuntu或是用SSH登陆的情况下,只需在/etc/security/limits.conf添加如下:

    •   soft    nofile  1024000
      
    •   hard    nofile  1024000
      

    有时候 * 会没用,需要指定用户如: (ubuntu 有bug)

    root soft nofile 1024000
    root hard nofile 1024000

    1. 修改了/etc/profile
    2. 修改了/etc/security/limits.conf

    改完之后,ulimit -n 查看。

    但是一般改到这里,数据都是对的,但是实际运行还是上不去。此时要改PAM

    [root@localhost ~]# cat /etc/pam.d/login |grep "pam_limits.so"
    session required /lib/security/pam_limits.so
    [root@localhost ~]#

    查看pam_limits.so 已经在了。这是告诉Linux在用户完成系统登录后,应该调用pam_limits.so模块来设置系统对该用户可使用的各种资源数量的最大限制(包括用户可打开的最大文件数限制),而pam_limits.so模块就会从/etc/security/limits.conf文件中读取配置来设置这些限制值。

    要是配置文件/etc/security/limits.conf配置立即生效,需要/etc/ssh/sshd_config里的UsePAM yes配置项,另外ubuntu有个bug,root用户必须注明用户,不能用通配符星号,(上面也写到了)然后重启sshd。

    相关文章

      网友评论

          本文标题:ubuntu修改open files不生效

          本文链接:https://www.haomeiwen.com/subject/szzkuctx.html