用File.new(big_file)
打开一个文件(不关闭它)1016次(Ubuntu)或1017次(CentOS)后,似乎有一个限制并且它会提升:
Too many open files @ rb_sysopen - big_file (Errno::EMFILE)
有没有办法提高这个限额?
在我的系统上,ulimit
设置为unlimited
。
答案 0 :(得分:11)
ENFILE
在您的流程中打开了太多文件。 Errno::EMFILE
在整个系统中打开了太多文件。所以1024
是由于ruby进程打开了太多文件。可以通过以下方式将此限制设置为默认$ulimit -n
1024
:
$ulimit
unlimited
而不是:
Comparable
您可以使用this method提高限额。