• 记Too many open files错误


    ps -ef|grep tomcat  查看pid

    ls /proc/进程pid/fd/ | wc -l   查看pid当前打开的文件数

    cat /proc/进程pid/limits    看开pid当前打开的文件数上限

    ulimit -a            系统默认最大打开数量

    二、解决方法
    1、增大允许打开的文件数——命令方式
    ulimit -n 2048
    这样就可以把当前用户的最大允许打开文件数量设置为2048了,但这种设置方法在重启后会还原为默认值。 
    ulimit -n命令非root用户只能设置到4096。 
    想要设置到更大需要sudo权限或者root用户。

    2、增大允许打开的文件数——修改系统配置文件
    vim /etc/security/limits.conf  
    #在最后加入  
    * soft nofile 4096  
    * hard nofile 4096  
    或者只加入

     * - nofile 8192

    最前的 * 表示所有用户,可根据需要设置某一用户,例如

    roy soft nofile 8192  
    roy hard nofile 8192  
    注意”nofile”项有两个可能的限制措施。就是项下的hard和soft。 要使修改过得最大打开文件数生效,必须对这两种限制进行设定。 如果使用”-“字符设定, 则hard和soft设定会同时被设定。

    注:/etc/security/limits.conf限制实际取决于 /etc/security/limits.d/20-nproc.conf(文件名不一定是这个,需到目录下去看)的配置,也就是说哪怕/etc/security/limits.conf设置最大打开数是65535,

      而/etc/security/limits.d/20-nproc.conf里配的是4096,那最终结果还是用户最大只能打开4096个文件句柄

    3、检查程序问题
    lsof -p 进程id > openfiles.log命令,获得当前占用句柄的全部详情进行分析

  • 相关阅读:
    24-移动端app数据爬取
    24-移动端app数据爬取
    18闭包
    mysql日期 获取本月第一天 获取下个月的第一天
    介绍shell的来龙去脉给你看
    RHEL 和centos 的区别
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/fs/FSDataInputStream
    CDH管理界面查看各框架的版本(hive为例)
    Cloudera hadoop配置文件地址和修改配置属性方法
    idea快速创建级联目录
  • 原文地址:https://www.cnblogs.com/sss-justdDoIt/p/11933493.html
Copyright © 2020-2023  润新知