mongodb 启动 WARNING: soft rlimits too low, transparent_hugepage/enabled is 'always'. never
今天启动mongodb的时候,之前一直没注意,今天发现又warning,想整一整。
下面是告警
2019-09-05T12:00:55.271+0800 I CONTROL [initandlisten]
2019-09-05T12:00:55.271+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2019-09-05T12:00:55.271+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2019-09-05T12:00:55.271+0800 I CONTROL [initandlisten]
2019-09-05T12:00:55.271+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2019-09-05T12:00:55.271+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2019-09-05T12:00:55.271+0800 I CONTROL [initandlisten]
2019-09-05T12:00:55.271+0800 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 15012 processes, 102400 files. Number of processes should be at least 51200 : 0.5 times number of files.
那我们一个个来解决:
transparent_hugepage ,
上面2个问题可以一起解决:
echo never >/sys/kernel/mm/transparent_hugepage/enabled
echo never>/sys/kernel/mm/transparent_hugepage/defrag
soft rlimits too low
这个问题就是我们不能单单把ulimit -n 那个文件句柄数打开,还得同时提升用户可使用线程数
解决办法有几种,这里介绍一个比较快捷,可以及时生效的:
修改 /etc/security/limits.conf 文件,末尾添加:
* soft noproc 65535
* hard noproc 65535
然后 执行一步 ulimit -u 65535
- 第一步是永久生效process
- 第二步是即时当前会话生效process
作者是普华永道的TechLeader,mongoDB Professional 中国第十五位获得者,「红色警戒:复兴」联合创始人。「Python专栏」专注Python领域的各种技术:爬虫、DevOps、大数据分析、Web开发等。「大航海计划」带你从零打造爆款Python项目,还有各种内推活动等着你。
公众号后台回复:腾讯架构资源1,获取腾讯架构师整理的大数据学习资料
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?