请注意:MongoDB(在Windows Server 2016上)返回“errno:24打开的文件过多”错误

2024-03-28 08:48:34 发布

您现在位置:Python中文网/ 问答频道 /正文

在使用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天,没有问题。所以不知道为什么?有什么建议或意见吗

谢谢


Tags: 脚本管道servermongodb错误okerrorfiles
1条回答
网友
1楼 · 发布于 2024-03-28 08:48:34

根据MongoDB文档here,建议设置open file limit的上限。对于Ubuntu,我们通常通过更改/etc/security/limits.conf中特定于用户和限制类型的限制来实现。对于不同的发行版,有不同的方法。对于检查限制,一个简单的ulimit -a可能非常有用

运行数据库的IMO计算机应具有较高的打开文件和进程计数限制。此外,MongoDB还提供了一系列关于分页和磁盘类型的建议。我建议您通过它们来尽可能地使用MongoDB

我已经很长时间没有在windows机器上工作了,我相信如果您试图找到如何增加打开文件的限制,您会找到它。此外,当您将查询时间从7天减少到3天时,wired tiger获取索引和磁盘操作所需访问的文件也减少了,并且它可能允许您运行查询。请注意,与某些数据库不同,mongodb wiredtiger中的文件系统组织有点不同

相关问题 更多 >