推荐工具
RoboMongo
推荐书目
50 Tips and Tricks for MongoDB Developers
Related Blogs
Snail in a Turtleneck
vverr
V2EX  ›  MongoDB

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

  •  
  •   vverr · Jul 6, 2020 · 4782 views
    This topic created in 2181 days ago, the information mentioned may be changed or developed.

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

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

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

    5 replies    2020-07-07 09:21:45 +08:00
    vk42
        1
    vk42  
       Jul 6, 2020
    为啥扩大文件打开数不适合你?
    vk42
        2
    vk42  
       Jul 6, 2020   ❤️ 1
    一般 db 和 web server 需要配 ulimit 是常规操作,看下 mongo 官方文档就行了: https://docs.mongodb.com/manual/reference/ulimit/
    vverr
        3
    vverr  
    OP
       Jul 6, 2020
    @vk42 #2 好的谢谢,刚看了下这个文档。
    我之前调整了单个进程的文件最大打开数到 65535 还是不够,因为建的集合十分多,总觉得这个是一个不治本的方式。
    看来只能去把文件打开数上限做更大的调整了。
    ccav
        4
    ccav  
       Jul 6, 2020   ❤️ 1
    两个地方要改:
    一,os 系统 的 ulimit 限制 。
    二,systemd 对应的 mongod.service 里的要改成无限。
    你这个问题是第二个没改应该。默认可能是 1024 ?
    vverr
        5
    vverr  
    OP
       Jul 7, 2020
    @ccav #4 只修改了第一个,然后查看进程的打开数的时候,进程已经可以提升到最大了,目前没发现太大问题。最大的打开数是 2 的 20 次幂,目前看是够用的,之前以为打开文件数设置过多不是很好,看来没别的好办法,只能个提升这个了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5474 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 06:44 · PVG 14:44 · LAX 23:44 · JFK 02:44
    ♥ Do have faith in what you're doing.