这个问题基本上就是因为文件并发量太大了。也就是文件句柄数达到上限造成的。
因此在Linux服务器高并发调优时,往往需要预先调优Linux参数,修改最大文件句柄数。
Linux默认最大文件句柄数为1024。
目前会了两种方法:
-
ulimit -n 2048
ulimit -a可以查看一系列参数,其中open file这一行写的就是最大文件句柄数。(注意:该方法只针对当前进程有效,重新打开一个shell或者重新开启一个进程,参数还是之前的值)
-
sudo vim /etc/security/limit.conf
该文件只读,不动用sudo不行。
然后再里面写入
* soft nofile 2048
* hard nofile 65536
最后注销用户,重新登录就可以生效了。