问题描述
Linux系统负载异常,系统日志提示如下错误。
file-max limit 65535 reached
问题原因
内核打开的文件句柄数量达到上限。
解决方案
- 登录问题服务器,执行如下命令,查看文件句柄数量使用的情况。
watch -n 1 cat /proc/sys/fs/file-nr
- 执行如下命令,查看打开文件句柄数量进程的情况。
lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more
注:返回结果中第一列是打开文件的句柄数量,第二列是PID进程号。 - 执行如下命令,查询PID对应的进程信息。
ps aux|grep [$PID]
注:[$PID]为进程号。 - 如果是应用进程出现的问题,对相关应用进行检查和优化。否则执行如下命令,修改
fs.file-max
配置项参数。echo “fs.file-max=100000” >> /etc/sysctl.conf
- 执行如下命令,使其修改生效。
sysctl -p
适用于
- 云服务器ECS
文档内容是否对您有帮助?