• 当前位置: 主页 > Linux安装教程 > 常见问题 >

    Process未关闭 Too many open files_增加Open Files Limit限制

    时间:2016-04-01 19:50来源:未知 作者:Linux先生 举报 点击:
    湖南成人高考 湖南成人高考 
    在Linux下,我们使用ulimit -n 命令可以看到单个进程能够打开的最大文件句柄数量(socket连接也算在里面)。

    如果你遇到 “Too many open files (24)” 错误的话,那就意味着application/command/script最大值设置的比较小. 你需要增加最大值:

    增加限制

    Per-User限制

    打开文件: /etc/security/limits.conf

    把下面的粘贴到最后:

    *         hard    nofile      500000
    *         soft    nofile      500000
    root      hard    nofile      500000
    root      soft    nofile      500000

    500000是一个很正常的值,反正我不知道上次最大值是多少的时候就正常.

    保存文件然后重启

    pam-limits

    我还在网上看到有其他的设置来限制进程的,不过我没有尝试过,如果你按照上面的修改之后还不行的话,可以参考下下面的.

    打开/etc/pam.d/common-session

    添加:

    session required pam_limits.so

    System-Wide限制

    我们把这个比user-limit设置的更大点

    打开/etc/sysctl.conf 

    添加:

    fs.file-max = 2097152

    执行:

    sysctl -p

    上面的这些会加起来计算ystem-wide.

    验证新设置的上线

    使用下面的命令来测试我们的设置:

    cat /proc/sys/fs/file-max

    硬极限

    ulimit -Hn

    软极限

    ulimit -Sn

     

    检测下其他用户的限制

    把下面 www-data 用户名换成你自己Linux系统上的用户名即可:

    su - www-data -c 'ulimit -aHS' -s '/bin/bash'

    检测云新进程限制:

    找到进程ID(PID):

    ps aux | grep process-name

    假设, XXX是 PID, 然后执行下面的就可以检测了

    cat /proc/XXX/limits
    推荐内容