首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

请告知: MongoDB (在Window Server 2016上)返回“错误号:24个打开的文件太多”错误

在 Windows Server 2016 上运行 MongoDB 时,如果遇到“错误号:24个打开的文件太多”错误,这通常是由于操作系统的文件描述符限制导致的。尽管这个问题在 Unix 系统上更常见,但在 Windows 上也可能发生,特别是在处理大量并发连接或文件操作时。

以下是一些可能的解决方案和步骤,以帮助您解决这个问题:

1. 检查并增加文件描述符限制

在 Windows 上,文件描述符的限制通常由系统资源和配置决定。虽然不像 Unix 系统那样有明确的文件描述符限制,但您可以通过以下步骤来优化系统资源:

增加 MongoDB 的文件句柄限制

MongoDB 允许您通过配置文件或命令行参数来增加文件句柄限制。

  • 通过配置文件: 编辑 MongoDB 的配置文件(通常是 mongod.cfg),添加或修改以下参数:

net: maxIncomingConnections: 65536

  • 通过命令行参数: 启动 MongoDB 时,使用 --maxIncomingConnections 参数:

mongod --maxIncomingConnections 65536

2. 优化操作系统设置

确保 Windows Server 2016 的系统资源配置合理,以支持 MongoDB 的高并发需求。

增加虚拟内存

确保系统有足够的虚拟内存,以支持大量的文件操作和并发连接。

  1. 打开“控制面板”。
  2. 选择“系统和安全”。
  3. 选择“系统”。
  4. 点击“高级系统设置”。
  5. 在“性能”部分,点击“设置”。
  6. 选择“高级”选项卡,然后点击“更改”。
  7. 增加虚拟内存的大小。

优化网络设置

确保网络设置优化,以支持高并发连接。

  1. 打开“控制面板”。
  2. 选择“网络和共享中心”。
  3. 点击“更改适配器设置”。
  4. 右键点击您的网络连接,选择“属性”。
  5. 选择“Internet 协议版本 4 (TCP/IPv4)”,然后点击“属性”。
  6. 点击“高级”按钮。
  7. 确保“TCP/IP 设置”中的“窗口缩放”和“接收窗口自动调整”已启用。

3. 检查并优化 MongoDB 配置

确保 MongoDB 的配置优化,以减少文件句柄的使用。

使用 WiredTiger 存储引擎

WiredTiger 是 MongoDB 的默认存储引擎,通常比 MMAPv1 更高效。确保您正在使用 WiredTiger 存储引擎。

  • 通过配置文件: 编辑 MongoDB 的配置文件(通常是 mongod.cfg),确保存储引擎设置为 WiredTiger:

storage: engine: wiredTiger

  • 通过命令行参数: 启动 MongoDB 时,使用 --storageEngine 参数:

mongod --storageEngine wiredTiger

调整 WiredTiger 配置

调整 WiredTiger 的配置,以优化资源使用。

  • 通过配置文件: 编辑 MongoDB 的配置文件,添加或修改以下参数:

storage: wiredTiger: engineConfig: cacheSizeGB: 2 这里的 cacheSizeGB 可以根据您的系统内存进行调整。

4. 检查并优化应用程序代码

确保您的应用程序代码优化,以减少对 MongoDB 的不必要请求和连接。

  • 连接池:使用连接池来复用数据库连接,而不是每次请求都创建新的连接。
  • 批量操作:尽量使用批量操作来减少对 MongoDB 的请求次数。

5. 检查系统日志和 MongoDB 日志

检查系统日志和 MongoDB 日志,以获取更多关于错误的信息。这可以帮助您确定问题的根本原因,并采取相应的措施。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

win10 x64下从0开始搭建YApi可视化接口管理平台

\mongoDB\logs,文件夹下新增一个mongo.log文件 C、新增etc文件夹,D:\python\mongoDB\etc,文件夹下新增一个mongo.conf文件 mongo.conf...#错误日志采用追加模式,配置这个选项后mongodb日志会追加到现有的日志文件,而不是从新创建一个新文件 logappend=true #启用日志文件,默认启用 journal=true #这个选项可以过滤掉一些无用日志信息...,若需要调试使用设置为false quiet=false #端口号 默认为27017 port=27017 注意:如果你建文件夹跟我位置不一样,修改上面文件地址。...mongo.conf文件,这个文件内容就是把一些配置设定好了,我们可以直接通过配置文件启动MongoDB,同时安装到window服务中。.../,查看页面是否能正常打开 e.假如网页不能正常打开输入如下指令,然后再次打开浏览器查看页面是否正常打开 npm install -g yapi-cliyapi server 3、设定好公司名称、

1.7K51

mongoDB入门教程一:下载安装和环境配置、连接运行

图片.png 4:记住自己安装路径 C:\Program Files\MongoDB\Server\4.0\ 图片.png 5: C 盘安装了 mongodb 6:点击下一步,安装完成 现在让我们创建一个...MongoDB运行数据库和日志配置 1:打开cmd(右键管理员身份打开),进入安装路径底下,新建一个data文件夹 mkdir c:\ data\db mkdir c:\ data\log 于是c盘底下简历了数据库和日志...2:运行:返回上一级,找到安装路径 cd/ 3:从 MongoDB 目录 bin 目录中执行 mongod.exe 文件。...通过 window 资源管理器中找到一开始安装路径 4:通过cmd进入这个路径、 C:\Program Files\MongoDB\Server\4.0\bin 执行命令 mongod.exe –dbpath...同样打开bin文件,执行mongo.exe cd\ cd Program Files\MongoDB\Server\4.0\bin 图片.png 2:输入连接命令 mongo 我们连接链接: connecting

59030
  • MongoDB6.0安装「2023年」

    2.1 MongoDB 配置重启电脑后,找到并打开你安装 MongoDB 位置,一直打开到 bin 文件夹。...键盘上按 Window + R 打开运行窗口,输入 cmd,弹出命令提示符窗口,命令提示符窗口输入 mongo。...图片图片找到 bin 拷贝到我们安装路径/bin 下:图片复制后,键盘上按 Window + R 打开运行窗口,输入 cmd,弹出命令提示符窗口,命令提示符窗口输入 mongod,弹出以下内容后继续输入...安装 MongoDB 提示权限不足解决方法安装 MongoDB 时候,window10 系统有时会遇到权限不足问题,跟着本人按照如下步骤就可解决 window10 系统权限问题。...--dbpath "C:\Program Files\MongoDB\Server\6.0\data\db"记得将此处路径替换成你主机 MongoDB 安装路径。

    1.1K30

    Mock16-项目前端框架Antd升级

    说来惭愧此实战教程拖拖拉拉好长时间,回过头来再重新看前端github代码库最近一次更新记录竟然是两年前了,另外加上mac本换window本环境也需搭建,nodejs和antd都有N个版本迭代了,本着前端框架使新不用旧原则...这里可想而知一定会遇到各种问题,那我们就一起闯关打怪搞定它。 语言学习唯有实战出真知,唯有更脚步才能进度,唯有遇到问题解决它才能成长。...我这解决上述问题后见到了当初界面。 从欢迎界面来看,再次说明确实是好久没更新了,公众名字还停留在大奇测试开发,这里也告知下大家,现在我公众改叫《非典型性程序员》了,记得持续关注哈!...getAccess()) { ...省略... } 代码确保鉴权通过 以上一些顺利,欢迎来到全新欢迎页面 项目管理 这部分代码详细过程,直接回看Mock05-09篇整个项目的管理开发,这里其中页面代码...项目涉及前后端和网关,已经github已经归并,并将最新代码提交,有需要自行查看 https://github.com/QiCodeCN/QMockService 也欢迎给Star 支持一下!

    15910

    快速搭建属于自己mongodb数据库

    测试环境:window10  64位 我安装路径:D:\mongodb 我学习mongodb笔记本:MongoDB 配置mongodb我也遇到了两个关键性问题,记录这篇博客希望搭建mongodb...server 2008 R2 或者 window 7,需要进入微软官网下载补丁 IMPORTANT If you are running any edition of Windows Server 2008...,之后重启即可 3、64位MongoDB将不能在32位windows运行启动 配置 1、创建一个用于存放mongodb数据目录, 这里我创建在D:\mongodb\data\db,打开cmd(这里我用...start MongoDB 停止MongoDB:net stop MongoDB 然后我遇到了第二个问题,服务器安装成功之后,进行启动,发现无法启动,查看log日志文件,有这样信息: 2016-12...大致意思就是说存储引擎冲突,(之前命令行启动过mongodb服务,然后就在数据目录生成了数据文件) 这个时候我们可以到数据目录中找到storage.bson这个文件,删除即可。

    1.3K91

    工具分享 | Pigat v2.0正式发布

    开发此工具初衷就是平时使用一些第三方网站进行目标信息收集时候,往往需要利用多个网站进行目标信息收集,比如通过在线Whois信息查询网站、在线CMS信息查询网站、目标Shodan信息等等...该工具2020年3月21日更新至2.0版本,该版本采用Scrapy框架开发,协程处理,运行速度更快,并且支持文件导出功能,同时修复了多个Bug,增加了多个功能。...这一步可自行百度,如果不是本地主机安装,则需要在安装MongoDB之后修改setting.py文件第72行,将数据库URL及端口改为自己设置即可,默认配置如下: MONGO_DB_URI =...'mongodb://localhost:27017' 2、安装第三方模块文件 pip3 install -r requirements.txt 3、开始运行 python3 start.py -u target.com...IP 信息…… [2020-03-21 13:46:09] 提示:如果出现大量无法判断 IP 情况,尝试更换自己IP [2020-03-21 13:46:09] freebuf.com

    60420

    如何优雅处理前端异常?

    // source:发生错误脚本URL(字符串) // lineno:发生错误行号(数字) // colno:发生错误(数字) // error:Error对象(对象) console.log...补充一点:window.onerror 函数只有返回 true 时候,异常才不会向上抛出,否则即使是知道异常发生控制台还是会显示 Uncaught Error: xxxxx window.onerror...,否则有可能捕获不到错误; onerror 无法捕获语法错误; 到这里基本就清晰了:实际使用过程中,onerror 主要是来捕获预料之外错误,而 try-catch 则是用来可预见情况下监控特定错误...实际,大多数情况下我们可以整个程序中定义一个 error boundary 组件,之后就可以一直使用它了!...版权声明:版权归作者所有 Jartto 如需删除,私信告知 原文链接:http://jartto.wang/2018/11/20/js-exception-handling/index.html

    2.1K30

    Windows搭建原神服务器

    前言 今天特别开一篇文章来讲讲windows搭建方法。文章不长,只要一步一步仔细跟着做,就一定能成功。...装完win+R –> 运行 输入cmd 控制台里输入 java -version出现如下图信息表示安装成功。 安装配置Mongodb 根据自己需求下载版本,>=5以上。...这里用window平台搭建原神,这里选择Windows。这里有两种方式,(MSI安装方式,zip解压方式),推荐下载MSI方式,原因(zip解压方式需要自行配置)。...装完后按 win+R —> 运行 输入 services.msc 打开系统服务,找到 MongoDB Server,如图,显示“正在运行”就OK了。...三、拉取代码、编译、配置资源 拉取、编译代码 随便找个地方建立一个空文件夹,进入文件夹右键 “Git Bash Here“,会打开一个新控制台窗口,然后执行如下:搞定后显示Success,然后文件夹里可以看到一个

    7.6K31

    mongodb原生node驱动

    写在前面 最近读《node.js学习指南》,对于mongodb没有介绍太多工作原理,但是对于一个前端开发者,即使你还没有用过这种数据库也可以让你很好理解和使用 一本非常好介绍node.js书,我一直把他放在触手可及地方...准备开始- -   1、首先我们应该确保我们mongodb数据库本地安装可以正常运行,如果安装过程到遇到了问题可以简单参考我一篇博客(windowmongodb配置与安装)   2、然后我们需要新建一个项目...-g 安装在全局中,使用supervisor命令代替node,这样修改文件之后,不需要每次通过node命令重启服务 那么我们命令行看下结果吧- - 然后我们mongodb数据库中看下数据结果:(如果你已经配置好了...mongo环境变量,以管理员身份打开cmd,通过mongo命令启动mongodb) 会看到数据库widgets文档中也加入了我们想要两条数据, 如果批量处理文档数据,我们需要尽可能设置keepGoing...)、     Skip(skip n个文档,用于跳页)     Hint(告诉数据库使用特定索引)     returnKey(只返回索引key)     Comment(为查询log日志文件中添加描述

    2.6K60

    从0到1,构建完整前端异常监控系统

    缺点: 此方法有一定浏览器兼容性 跨域脚本无法准确捕获异常,跨域之后window.onerror捕获不到正确异常信息,而是统一返回一个Script error,可通过使用crossorigin...而保留了sourcemap文件就可以利用webpack打包后生成一份.map脚本文件就可以让浏览器对错误位置进行追踪了,但这种做法并不可取,更为推荐服务端使用Node.js对接收到日志信息时使用...确定上报内容,应该包含异常位置(行号,列),异常信息,错误堆栈中包含了绝大多数调试有关信息,我们通讯时候只能以字符串方式传输,我们需要将对象进行序列化处理。...npm install source-map -S 复制代码 先读取对应map文件(按filename对应),然后只需传入压缩后报错行号列即可,就会返回压缩前错误信息。...,造成业务服务器存储空间不够情况,迁到mongodb考虑不要日志⬆️ 上报频率做限制。

    93610

    从0到1,构建完整前端异常监控系统

    缺点: 此方法有一定浏览器兼容性 跨域脚本无法准确捕获异常,跨域之后window.onerror捕获不到正确异常信息,而是统一返回一个Script error,可通过使用crossorigin...而保留了sourcemap文件就可以利用webpack打包后生成一份.map脚本文件就可以让浏览器对错误位置进行追踪了,但这种做法并不可取,更为推荐服务端使用Node.js对接收到日志信息时使用...确定上报内容,应该包含异常位置(行号,列),异常信息,错误堆栈中包含了绝大多数调试有关信息,我们通讯时候只能以字符串方式传输,我们需要将对象进行序列化处理。...npm install source-map -S 复制代码 先读取对应map文件(按filename对应),然后只需传入压缩后报错行号列即可,就会返回压缩前错误信息。...image.png 待完善点 应该做错误类型区分,如业务错误与接口错误等 过多日志在业务服务器堆积,造成业务服务器存储空间不够情况,迁到mongodb考虑不要日志⬆️ 上报频率做限制。

    66620

    前端异常埋点系统初探

    缺点: 此方法有一定浏览器兼容性 跨域脚本无法准确捕获异常,跨域之后window.onerror捕获不到正确异常信息,而是统一返回一个Script error,可通过使用crossorigin...而保留了sourcemap文件就可以利用webpack打包后生成一份.map脚本文件就可以让浏览器对错误位置进行追踪了,但这种做法并不可取,更为推荐服务端使用Node.js对接收到日志信息时使用...确定上报内容,应该包含异常位置(行号,列),异常信息,错误堆栈中包含了绝大多数调试有关信息,我们通讯时候只能以字符串方式传输,我们需要将对象进行序列化处理。...npm install source-map -S 复制代码 先读取对应map文件(按filename对应),然后只需传入压缩后报错行号列即可,就会返回压缩前错误信息。...,造成业务服务器存储空间不够情况,迁到mongodb考虑不要日志⬆️ 上报频率做限制。

    64530

    前端异常埋点系统初探

    缺点: 此方法有一定浏览器兼容性 跨域脚本无法准确捕获异常,跨域之后window.onerror捕获不到正确异常信息,而是统一返回一个Script error,可通过使用crossorigin...而保留了sourcemap文件就可以利用webpack打包后生成一份.map脚本文件就可以让浏览器对错误位置进行追踪了,但这种做法并不可取,更为推荐服务端使用Node.js对接收到日志信息时使用...确定上报内容,应该包含异常位置(行号,列),异常信息,错误堆栈中包含了绝大多数调试有关信息,我们通讯时候只能以字符串方式传输,我们需要将对象进行序列化处理。...npm install source-map -S 复制代码 先读取对应map文件(按filename对应),然后只需传入压缩后报错行号列即可,就会返回压缩前错误信息。...,造成业务服务器存储空间不够情况,迁到mongodb考虑不要日志⬆️ 上报频率做限制。

    98620

    node.js后端+小程序前端+mongoDB(增删改查)

    这种能力使得MongoDB处理大规模数据和高负载时表现出色。 高性能: MongoDB采用了索引、聚合框架和内置分片等技术,以提供高性能数据查询和检索。...它还具有内置缓存机制,能够有效地减轻数据库负载。 自动分片(Sharding): MongoDB支持自动分片,可以将大型数据集水平划分成小块,分布多个服务器。...这使得开发人员能够轻松地不同操作系统开发和部署应用。 社区支持和活跃: Node.js拥有一个庞大而活跃社区,提供了丰富文档、教程和问题解答。...} else { console.log('未找到匹配记录'); // 界面上显示相应消息,告知用户未找到匹配记录 } },...界面上显示错误信息,告知用户请求失败 } }); }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { },

    28710
    领券