• 售前

  • 售后

热门帖子
入门百科

Mongodb 瓦解报错 Too many open files的问题分析

[复制链接]
123456868 显示全部楼层 发表于 2021-8-14 15:12:45 |阅读模式 打印 上一主题 下一主题
在项目现实使用过程中,客户反馈能打开网页但无法登陆,第一时间感觉到应该是数据库服务器挂了,于是检察Mongodb数据库服务器日记,果不其然挂了。
报错信息如下:
  1. 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
  2. 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
  3. 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
  4. 2020-12-28T13:21:21.731+0800 F -        [conn2624] Fatal Assertion 50853 at src/mongo/db/storage/wiredtiger/wiredtiger_util.cpp 420
  5. 2020-12-28T13:21:21.731+0800 F -        [conn2624]
  6. ***aborting after fassert() failure
复制代码
可以看到焦点题目就是 Too many open files。经查阅相干资料,造成如下题目标原因就是Centos7给每个用户默认的同时打开文件的数值为1024,可通过如下设置文件检察:
  1. ulimit -a
复制代码

此中所有的参数均可修改,那么怎样修改open files呢?
在此提供两种方法:
首先检察体系全局参数:

以是我们可以修改的最大值也是174198
具体修改方法一:
新建一个nofile.conf文件:
  1. vi /etc/security/limits.d/nofile.conf
复制代码
在此设置文件中写入:
  1. * soft nofile 65536
  2. * hard nofile 65536
复制代码

生存后,需要重启体系,永久有用。
具体修改方法二:(不需要重启,不需要停服务,动态修改
1,检察mongodb pid:

2,检察对应pid limits:
  1. cat /proc/41814/limits
复制代码

3,可直接编辑以上文件,也可以直接运行下令行:
  1. prlimit --pid 41814 --nofile=65535:65535
复制代码
4,再次检察,修改乐成:

总结:发起双管齐下,都修改了。
到此这篇关于Mongodb 崩溃报错 Too many open files的题目剖析的文章就先容到这了,更多相干Mongodb 报错 Too many open files内容请搜索草根技术分享从前的文章或继续浏览下面的相干文章希望各人以后多多支持草根技术分享!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作