首页 > 数据库 >MongoDB文件句柄数限制

MongoDB文件句柄数限制

时间:2024-08-28 15:29:01浏览次数:10  
标签:files 文件 句柄 unlimited MongoDB bytes Max open size

MongoDB文件句柄数限制

在实际使用mongodb时, 由于分表较多, 每个表又有若干索引. 当业务量起来时, 经常出现连接池socket连接断开的错误, 排查mongodb的日志, 发现基本都是"Too many open files"错误.

排查问题

  1. 查看当前文件的数量限制

    [root@ip-172-16-1-149 rocky]# ulimit -a
    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) unlimited
    scheduling priority             (-e) 0
    file size               (blocks, -f) unlimited
    pending signals                 (-i) 29303
    max locked memory       (kbytes, -l) 64
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 655350
    pipe size            (512 bytes, -p) 8
    POSIX message queues     (bytes, -q) 819200
    real-time priority              (-r) 0
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 655350
    virtual memory          (kbytes, -v) unlimited
    file locks                      (-x) unlimited
    

    重点看open files​的值, 此处是655350, 理论上是够用的.

  2. 查找到mongodb的进程

    [root@ip-172-16-1-149 rocky]# ps -axu | grep mongod
    root      647090  2.9 11.3 3419876 860280 ?      Sl   05:56   2:02 /usr/bin/mongod -f /etc/mongod.conf
    
  3. 查看mongodb进行的限制

    [root@ip-172-16-1-149 rocky]# cat /proc/647090/limits
    Limit                     Soft Limit           Hard Limit           Units
    Max cpu time              unlimited            unlimited            seconds
    Max file size             unlimited            unlimited            bytes
    Max data size             unlimited            unlimited            bytes
    Max stack size            8388608              unlimited            bytes
    Max core file size        0                    unlimited            bytes
    Max resident set          unlimited            unlimited            bytes
    Max processes             29303                29303                processes
    Max open files            1024                 65535                files
    Max locked memory         65536                65536                bytes
    Max address space         unlimited            unlimited            bytes
    Max file locks            unlimited            unlimited            locks
    Max pending signals       29303                29303                signals
    Max msgqueue size         819200               819200               bytes
    Max nice priority         0                    0
    Max realtime priority     0                    0
    Max realtime timeout      unlimited            unlimited            us
    

    可以看到mongodb进程open files​数量限制中, 被Soft Limit​限制为1024了

  4. 临时方案修改

    [root@ip-172-16-1-149 rocky]# prlimit --pid 647090--nofile=65535:65535
    

    再次通过查看/proc/{pid}/limits​可以看到, open files​的限制都被修改为65535了. 但是这种方式只能针对这个mongodb进程临时生效, 当mongodb重启后又会恢复为之前的状态

  5. 永久方案修改

    在实际操作时, 修改service信息没有生效, 暂时没有继续研究了, 后续可以参考以下文档进行测试

    too many open files 问题解决方法

    MongoDB Too many open files 异常的解决

    MongoDB报Too many open files解决方法

标签:files,文件,句柄,unlimited,MongoDB,bytes,Max,open,size
From: https://www.cnblogs.com/coolewang/p/18384748/mongodb-file-handle-number-limit-z1oj0ze

相关文章

  • Hadoop生态圈(三)- HDFS(分布式文件系统)
    目录设计目标特性HDFS基本原理NameNode概述DataNode概述HDSF读写操作HDFS写数据流程HDFS读数据流程HDFS元数据管理HDFSshellHDFS解决的是海量存储的问题设计目标:故障是常态,因此故障的检测和自动快速恢复是核心适合批量处理,注重数据访问的高吞吐量。一旦写入......
  • hadoop生态圈(二)-zookeeper(分布式小文件存储系统)
    目录zookeeper特性集群角色zookeepershell创建节点读取节点更新节点删除节点对节点增加限制其他命令 zookeeper数据模型数据结构图节点类型节点属性监听机制Watch机制特点zookeeper特性全局数据一致:集群中每个服务器保存一份相同的数据副本,client无论连......
  • 【MSF系列】使用meterpreter从linux系统下载文件到kali
    成功拿到了shell,在/var/www/html/cacti底下有个sql文件,将其下载下来命令download/path/to/file.txt/opt/downloads/file.txt下载后导入本地,可以获得登录密码+----+----------+----------------------------------+-------+---------------+---------------+--------------......
  • 解决方案 | QTTabBar工具栏命令按钮设置everything、filelocator在当前文件夹下面搜索
      备忘everything命令行参数参考-path(是everythin参数)表示在哪个位置(即哪个文件夹)下面搜索,这里%c%是qttabbar的参数,表示当前文件夹https://www.voidtools.com/zh-cn/support/everything/command_line_interface/     效果演示:  =====================f......
  • java如何运行Python文件程序
    有时候会遇到在java中启动Python的程序,下面进行说明packagecom.zxh.util;importlombok.extern.slf4j.Slf4j;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;/***python执行器**@Au......
  • 【FreeRTOS+CubeMX】入门(三)--文件结构与参数配置
    文章目录FreeRTOS文件组成和基本原理文件构成基础知识![请添加图片描述](https://i-blog.csdnimg.cn/direct/a7a87a1201a448bb9ffa1dcd1e58a8ab.png)FreeRTOS配置及功能裁剪configparamters参数讲解FreeRTOS文件组成和基本原理此文章将详细讲解FreeRTOS的文件结构......
  • 【ROS教程】ROS文件系统和基础架构
    @目录1.工作空间目录1.1package.xml2.启动节点的方式2.1一次启动一个2.2一次启动多个3.ROS常用命令3.1增3.2查3.3执行3.3.1加载环境变量3.3.2运行节点3.4查看计算图4.创建功能包4.1选择工作目录4.2创建功能包目录4.3建立功能包1.工作空间目录WorkSpace---自定义......
  • 【学习笔记】SSL证书之文件格式
    SSL证书及密钥以文件的形式存在于我们的电脑上,这些文件一般为以下4种格式:DERPEMPFX/PKCS#12PKCS#71、DERDistinguishedEncodingRules(可辨别编码规则)是在线证书的格式二进制编码,如果用TXT进行查看会呈现出乱码。在SSL证书领域,我们一般不用DER格式的文件来交换证书(因为DER......
  • 【Shell脚本】批量修改文件名
    示例:#toucharticle_{1..3}.html#lsarticle_1.htmlarticle_2.htmlarticle_3.html把article改为bbs方法1:forfilein$(ls*html);domv$filebbs_${file#*_}#mv$file$(echo$file|sed-r's/.*(_.*)/bbs\1/')#mv$file$(ec......
  • 【Shell 脚本】检测两台服务器指定目录下的文件一致性
    #!/bin/bash######################################检测两台服务器指定目录下的文件一致性######################################通过对比两台服务器上文件的md5值,达到检测一致性的目的dir=/data/webb_ip=192.168.88.10#将指定目录下的文件全部遍历出来并......