如何解决请告知:MongoDB在 Window Server 2016 上返回“errno:24 Too many open files”错误
我在使用 MongoDB 聚合管道运行 python 脚本后遇到问题。错误说
errno:24 Too many open files,full error: {'ok': 0.0,'errmsg': 'error opening file "D:\\MongoDB\\Server\\4.4\\data/_tmp/extsort-doc-group.463": errno:24 Too many open files','code': 16814,'codeName': 'Location16814'}
托管 Mongo 数据库的服务器是
Window Server 2016
当我通过将跨度日从 7 天减少到 3 天来限制数据数量时,问题就消失了,脚本将成功运行并给出结果。
这个脚本已经运行了几个星期,设置了 7 天,没有问题。所以不知道为什么?有什么建议或意见吗?
谢谢。
解决方法
根据 MongoDB 文档 here,建议为 open file limit
设置一个上限。对于 Ubuntu,我们通常通过更改特定于用户和限制类型的 /etc/security/limits.conf
中的限制来实现。不同的发行版有不同的方法。要检查限制,一个简单的 ulimit -a
会很有帮助。
运行数据库的 IMO 机器应该对打开的文件和进程数有很高的限制。此外,MongoDB 还提供了大量与要使用的分页和磁盘类型相关的建议。我建议通过它们来使用 MongoDB 以发挥其潜力。
我很久没有在 Windows 机器上工作了,我相信如果您尝试找到如何增加打开文件限制的方法,您会发现它。此外,当您将查询从 7 天减少到 3 天时,wired-tiger 必须访问以获取索引和磁盘操作的文件也减少了,并且它可能允许您运行查询。请注意,与某些数据库不同,mongodb-wiredtiger 中的文件系统组织略有不同。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。