大佬们, mongo 写入的时候报文件打开数太大挂掉怎么办

2020-07-06 09:37:02 +08:00
 dtgxx

网上的说法都是扩大 linux 的文件打开数,这个方式有点不适合我。

插入的数据量比较大,根据数据特点我去创建不同的集合存储,就导致有非常多的集合,所以文件打开数会特别大。

这个打开数是和什么有关系的?为什么我插入成功的数据,没有释放掉打开数呢?应该怎么操作?

4082 次点击
所在节点    MongoDB
5 条回复
vk42
2020-07-06 09:44:07 +08:00
为啥扩大文件打开数不适合你?
vk42
2020-07-06 09:46:38 +08:00
一般 db 和 web server 需要配 ulimit 是常规操作,看下 mongo 官方文档就行了: https://docs.mongodb.com/manual/reference/ulimit/
dtgxx
2020-07-06 10:21:00 +08:00
@vk42 #2 好的谢谢,刚看了下这个文档。
我之前调整了单个进程的文件最大打开数到 65535 还是不够,因为建的集合十分多,总觉得这个是一个不治本的方式。
看来只能去把文件打开数上限做更大的调整了。
ccav
2020-07-06 18:31:40 +08:00
两个地方要改:
一,os 系统 的 ulimit 限制 。
二,systemd 对应的 mongod.service 里的要改成无限。
你这个问题是第二个没改应该。默认可能是 1024 ?
dtgxx
2020-07-07 09:21:45 +08:00
@ccav #4 只修改了第一个,然后查看进程的打开数的时候,进程已经可以提升到最大了,目前没发现太大问题。最大的打开数是 2 的 20 次幂,目前看是够用的,之前以为打开文件数设置过多不是很好,看来没别的好办法,只能个提升这个了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/687452

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX