备份mysql时候遇到的Too many open files
第一想法,查看系统句柄的设置情况
查看当前进程设置
ulimit -a
发现可能是系统分配的open files不够,于是打算添加一下
//修改最大打开文件句柄限制:
vim /etc/security/limits.conf
//在文件末尾增加如下内容:
root soft nofile 65535
root hard nofile 65535
* soft nofile 65535
* hard nofile 65535
增加后要重启ssh服务才能看到生效
systemctl restart sshd
之后重新运行备份脚本,发现问题已经解决。
如果是运行系统命令的时候,偶然出现Too many open files,那就说明是当前用户的句柄数满了,查看方法是
sysctl fs.inotify.max_user_instances
修改
sysctl fs.inotify.max_user_instances=10240
添加配置到文件(目录/etc/sysctl.d/):
sysctl fs.inotify.max_user_instances=10240
关于限制值:每一个instance大约会消耗5KB的内存,所以在内存允许的情况下可以适当增加。
参考文献:容器数量增加导致fs.inotify.max_user_instances超过限制_villare的博客-优快云博客