解决方法
有个功能模块会频繁的使用mysql和redis来刷新数据,每过一段时间就会报这个错。原因就是那台新的服务器没有做系统的优化,linux对进程操作的数据文件有限制,服务器默认限制为1024。
查看各系统各限制配置信息
ulimit -a
将最大文件打开数设置高一些
ulimit -n 65536
注意:这个操作只对一次session有效,就是你退出服务器再登陆的话还是默认的1024。
需要修改/etc/security/limits.conf,在文件末加上
* soft nofile 65536
* hard nofile 65536
将以下三行添加到 /etc/rc.d/rc.local 启动脚本中来设置:
# Increase system-wide file descriptor limit.
echo 65536 > /proc/sys/fs/file-max
echo 65536 > /proc/sys/fs/inode-max
设置完毕重新登陆后并没有初始化,持久化有效了。