OSError: [Errno 24] Too many open files
今天在开发过程中遇到了以上报错,大致场景是我使用线程池实现文件的读写。所以正常我会使用1000-2000个线程去打开文件,所以大概率为系统限制。
输入以下命令:
$ ulimit -n
1024
果然如我所预想,得到的结果是1024,就是说系统限制为同时打开1024个文件。
修改方法:
1、将自己的线程数改小,使之符合这个限制(只是方法)。
2、将这个限制值改大。
a、ulimit -n 2048(此方法为临时修改,当前有效,退出后就恢复原来设置)
b、修改以下文件
sudo vim /etc/security/limits.conf
> soft nofile 2048
>hard nofile 2048
保存后重启。