在项目实际使用过程中,客户反馈能打开网页但无法登陆,第一时间感觉到应该是数据库服务器挂了,于是查看Mongodb数据库服务器日志,果不其然挂了。
报错信息如下:

2020-12-28T13:21:21.731+0800 E STORAGE  [conn2624] WiredTiger error (24) [1609132881:731422][23581:0x7fe157189700], WT_SESSION.create: __posix_directory_sync, 135: /data1/mongodb/data/db/: directory-sync: open: Too many open files Raw: [1609132881:731422][23581:0x7fe157189700], WT_SESSION.create: __posix_directory_sync, 135: /data1/mongodb/data/db/: directory-sync: open: Too many open files
2020-12-28T13:21:21.731+0800 E STORAGE  [conn2624] WiredTiger error (24) [1609132881:731616][23581:0x7fe157189700], WT_SESSION.create: __posix_directory_sync, 151: /data1/mongodb/data/db/collection-1063-1706476241051221735.wt: directory-sync: Too many open files Raw: [1609132881:731616][23581:0x7fe157189700], WT_SESSION.create: __posix_directory_sync, 151: /data1/mongodb/data/db/collection-1063-1706476241051221735.wt: directory-sync: Too many open files
2020-12-28T13:21:21.731+0800 E STORAGE  [conn2624] WiredTiger error (-31804) [1609132881:731651][23581:0x7fe157189700], WT_SESSION.create: __wt_panic, 494: the process must exit and restart: WT_PANIC: WiredTiger library panic Raw: [1609132881:731651][23581:0x7fe157189700], WT_SESSION.create: __wt_panic, 494: the process must exit and restart: WT_PANIC: WiredTiger library panic
2020-12-28T13:21:21.731+0800 F -        [conn2624] Fatal Assertion 50853 at src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp 420
2020-12-28T13:21:21.731+0800 F -        [conn2624] ***aborting after fassert() failure

可以看到核心问题就是 Too many open files。经查阅相关资料,造成如下问题的原因就是Centos7给每个用户默认的同时打开文件的数值为1024,可通过如下配置文件查看:

ulimit -a


其中所有的参数均可修改,那么如何修改open files呢?
在此提供两种方法:
首先查看系统全局参数:

所以我们可以修改的最大值也是174198

具体修改方法一:
新建一个nofile.conf文件:

vi /etc/security/limits.d/nofile.conf

在此配置文件中写入:

* soft nofile 65536
* hard nofile 65536


保存后,需要重启系统,永久有效。

具体修改方法二:(不需要重启,不需要停服务,动态修改
1,查看mongodb pid:

2,查看对应pid limits:

cat /proc/41814/limits

3,可直接编辑以上文件,也可以直接运行命令行:

prlimit --pid 41814 --nofile=65535:65535

4,再次查看,修改成功:

总结:建议双管齐下,都修改了。

Mongodb 崩溃报错 Too many open files相关推荐

  1. eclipse中同步代码PULL报错checkout conflict with files的解决方法

    eclipse中同步代码PULL报错checkout conflict with files的解决方法 参考文章: (1)eclipse中同步代码PULL报错checkout conflict wit ...

  2. 已解决(MongoDB安装报错)Service ‘MongoDB Server (MongoDB)’ (MongoDB) failed tostart. Verify that you have su

    成功解决(MongoDB安装报错):Service 'MongoDB Server (MongoDB)' (MongoDB) failed tostart. Verify that you have ...

  3. 太爽了今天解决了大问题!——LOL英雄联盟读条后崩溃报错error,错误LOL_public……一下午终于解决

    LOL英雄联盟读条后崩溃报错error,错误LOL_public-- 背景:是这样,前一天LOL退出时被我强退了,接着今天一如既往学了会python然后打算下把棋(云顶之弈),对了在这之前还搞了下自己 ...

  4. mongodb 启动报错

    运行环境centos7 本文仅解决自己遇到的问题,在这里做个记录 启动MongoDB,报错 Job for mongod.service failed because control process ...

  5. (linux)mongodb启动报错【ERROR:child process failed, exited with error number 1】

    这里写自定义目录标题 mongodb启动报错 报错提示 处理方法 mongodb启动报错 报错提示 ERROR:child process failed, exited with error numb ...

  6. 【k8s错误解决系列】kubelet报错too many open files

    [k8s错误解决系列]kubelet报错too many open files.md release author: ningan123 release time: 2022-08-12 报错日志 # ...

  7. sessions are not supported by the mongodb cluster to which this client is connected mongoDB 插入报错

    mongoDB 插入报错 错误信息:sessions are not supported by the mongodb cluster to which this client is connecte ...

  8. 如何解决idea报错Cannot compile Groovy files: no Groovy library is defined for module ‘xxx‘?

      相信大家在平常使用idea开发项目时多多少少都与groovy文件打过交道,那么在开始运行编译程序groovy文件时有没有遇到类似于Cannot compile Groovy files: no G ...

  9. mongodb php 报错,PHP5 mongodb 切换db报错 Authentication failed on database admin-汗血宝马

    权限 已经开启,在test上创建了用户test1,并赋予了 test的readWrite 和 reporting的read权限. { "_id" : "test.test ...

最新文章

  1. 青源LIVE第23期|ACL最佳论文一作许晶晶:机器翻译中的词表学习问题研究
  2. day2:作业 购物车程序及升级版本
  3. C#线程使用(二)全面总结
  4. Python数模笔记-NetworkX(1)图的操作
  5. 5G手机还没普及 LG电子就已着手研发6G
  6. Mountain Road
  7. 2.5音频编辑软件2.6语音识别技术
  8. 快速排序C语言实现 - 源码详解
  9. 【laravel5.7】第一个Laravel接口之中央气象台天气接口
  10. ios 判断打开相机权限_iOS 获取用户是否有(相册/相机)权限
  11. 人肝源间充质样干细胞的肝源性潜能及肝再生效应
  12. RDD优化--RDD共享变量(广播变量与累加器)
  13. python中response对象的方法_django HttpResponse对象 - 刘江的django教程
  14. 类型多样的游戏特效网页特效素材,速来收藏
  15. 看守所里的信息化故事:刘所家的新地毯
  16. 几种常见的定位技术,GPS定位,北斗定位,基站定位,蓝牙定位,WIFI定位比较--新导智能
  17. 使用mybatis-plus时mybatis报错There is no getter for property named ‘xxx‘ in ‘class com.xxx.xxx.xxxMybatis
  18. Chrome浏览器的自带翻译用途
  19. 使用Perl编写协议分析脚本
  20. mysql存储过程给多个变量赋值_MySQL存储过程如何进行变量的定义和赋值

热门文章

  1. 中兴新支点多卡聚合路由器在高铁地铁等轨道交通的应用
  2. 爆发:大数据时代预见未来的新思维 (湛庐文化•财富汇) - 电子书下载 -(百度网盘 高清版PDF格式)...
  3. 查询引擎怎么选?7000字解析所有开源引擎的秘密
  4. 40%创业公司用伪AI忽悠钱,欧洲被AI时代抛弃了吗?
  5. 什么是用户态?什么是内核态?
  6. Kubernetes Autoscaling是如何工作的?
  7. 16点建议帮助独立开发者决胜Game Jam
  8. 黑莓 Android 手机竟无任何自家服务?
  9. SYNOPSYS™消色差透镜
  10. 微型计算机如何更换显卡,用料非常豪华,不敢相信这竟然是一张RTX 2060显卡