【问题标题】:Please advise: MongoDB ( on Window Server 2016 ) return "errno:24 Too many open files" error请告知:MongoDB(在 Window Server 2016 上)返回“errno:24 Too many open files”错误
【发布时间】:2021-09-07 18:21:37
【问题描述】:

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

谢谢。

【问题讨论】:

标签: python mongodb window-server


【解决方案1】:

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

运行数据库的 IMO 机器应该对打开的文件和进程计数有很高的限制。此外,MongoDB 还提供了许多与要使用的分页和磁盘类型相关的建议。我建议通过他们来充分发挥 MongoDB 的潜力。

我很久没有在 Windows 机器上工作了,我相信如果你尝试找到如何增加打开文件限制,你会发现它。此外,当您将查询从 7 天减少到 3 天时,wired-tiger 必须访问以获取索引的文件和磁盘操作也减少了,它可能允许您运行查询。请注意,与某些数据库不同,mongodb-wiredtiger 中的文件系统组织有些不同。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-18
  • 1970-01-01
  • 2015-07-24
  • 2022-10-14
  • 2016-01-15
  • 1970-01-01
相关资源
最近更新 更多