Linux系统日志提示“file-max limit 65535 reached”错误

Linux系统日志提示“file-max limit 65535 reached”错误

更新时间:2018-11-07 13:39:49

问题描述

Linux系统负载异常,系统日志提示如下错误。
file-max limit 65535 reached

问题原因

内核打开的文件句柄数量达到上限。

解决方案

  1. 登录问题服务器,执行如下命令,查看文件句柄数量使用的情况。
    watch -n 1 cat /proc/sys/fs/file-nr
    
  2. 执行如下命令,查看打开文件句柄数量进程的情况。
    lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more
    
    注:返回结果中第一列是打开文件的句柄数量,第二列是PID进程号。
  3. 执行如下命令,查询PID对应的进程信息。
    ps aux|grep [$PID]
    
    注:[$PID]为进程号。
  4. 如果是应用进程出现的问题,对相关应用进行检查和优化。否则执行如下命令,修改fs.file-max配置项参数。
    echo “fs.file-max=100000” >> /etc/sysctl.conf
    
  5. 执行如下命令,使其修改生效。
    sysctl -p
    

适用于

  • 云服务器ECS