V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐工具
RoboMongo
推荐书目
50 Tips and Tricks for MongoDB Developers
Related Blogs
Snail in a Turtleneck
dtgxx
V2EX  ›  MongoDB

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

  •  
  •   dtgxx · 2020-07-06 09:37:02 +08:00 · 4061 次点击
    这是一个创建于 1362 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    5 条回复    2020-07-07 09:21:45 +08:00
    vk42
        1
    vk42  
       2020-07-06 09:44:07 +08:00
    为啥扩大文件打开数不适合你?
    vk42
        2
    vk42  
       2020-07-06 09:46:38 +08:00   ❤️ 1
    一般 db 和 web server 需要配 ulimit 是常规操作,看下 mongo 官方文档就行了: https://docs.mongodb.com/manual/reference/ulimit/
    dtgxx
        3
    dtgxx  
    OP
       2020-07-06 10:21:00 +08:00
    @vk42 #2 好的谢谢,刚看了下这个文档。
    我之前调整了单个进程的文件最大打开数到 65535 还是不够,因为建的集合十分多,总觉得这个是一个不治本的方式。
    看来只能去把文件打开数上限做更大的调整了。
    ccav
        4
    ccav  
       2020-07-06 18:31:40 +08:00   ❤️ 1
    两个地方要改:
    一,os 系统 的 ulimit 限制 。
    二,systemd 对应的 mongod.service 里的要改成无限。
    你这个问题是第二个没改应该。默认可能是 1024 ?
    dtgxx
        5
    dtgxx  
    OP
       2020-07-07 09:21:45 +08:00
    @ccav #4 只修改了第一个,然后查看进程的打开数的时候,进程已经可以提升到最大了,目前没发现太大问题。最大的打开数是 2 的 20 次幂,目前看是够用的,之前以为打开文件数设置过多不是很好,看来没别的好办法,只能个提升这个了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5345 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 05:49 · PVG 13:49 · LAX 22:49 · JFK 01:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.