出现了:
OSError: [Errno 24] Too many open files
这是因为
1,打开文件太多
2,其实不然,是线程限制,通常我们采用更改限制即可。
输入下面的命令看一下:
ulimit -n
输出:1024
果然如我所预想,得到的结果是1024,就是说系统限制为同时打开1024个文件。
修改方法:
1、将自己的线程数改小,使之符合这个限制(只是方法)。
2、将这个限制值改大。
a、ulimit -n 2048(此方法为临时修改,可能有效,或者需要更大)
b、修改以下文件
sudo vim /etc/security/limits.conf
添加:
#<domain> <type> <item> <value>
#
#* soft core 0
#root hard core 100000
#* hard rss 10000
#@student hard nproc 20
#@faculty soft nproc 20
#@faculty hard nproc 1024
#ftp hard nproc 4096
#ftp - chroot /ftp
#@student - maxlogins 4
#* soft nofile 65535
#* hard nofile 655
#######下面是添加的
* soft nofile 65545
* hard nofile 65545
:wq保存退出
保存后重启。
如果上述还不行那么就
sudo ulimit
sudo: ulimit: command not found
本来以为
ulimit
没在path变量中,用绝对路径就行了:
which ulimit
/usr/bin/which: no ulimit in (/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin)
查了下原因
ulimit
不是一个单独的程序。
sudo
会去找二进制文件运行。由于找不到
ulimit
的二进制可执行文件,故报错。 类似的命令还有:
cd
sudo sh -c "ulimit -n 65535 && exec su $LOGNAME"
该命令创建一个新的shell,然后设置
ulimit
,同时将用户切换至当前用户,当命令退出时,不会是以root权限退出。
参见:sudo: ulimit: command not found - 邱明成 - 博客园文章来源:https://www.toymoban.com/news/detail-566096.html
参见:OSError: [Errno 24] Too many open files错误解决方法。_爱的太深,太认真的博客-CSDN博客_oserror: [errno 24] too many open files文章来源地址https://www.toymoban.com/news/detail-566096.html
到了这里,关于出现OSError: [Errno 24] Too many open files错误解决方法。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!