MongoDB 如何使用内存? 为什么内存满了?( 六 )
tcmalloc cache的管理策略 , MongoDB 层暴露了几个参数来调整 , 一般不需要调整 , 如果能清楚的理解tcmalloc原理及参数含义 , 可做针对性的调优;MongoDB tcmalloc 的内存状态可以通过 db.serverStatus().tcmalloc
查看 , 具体含义可以看 tcmalloc 的文档 。 重点可以关注下 total_free_bytes
, 这个值告诉你有多少内存是 tcmalloc 自己缓存着 , 没有归还给 OS 的 。
如何控制内存使用?
合理配置 WiredTiger cacheSizeGB
-
如果一个机器上只部署 Mongod , mongod 可以使用所有可用内存 , 则是用默认配置即可 。
-
如果机器上多个mongod混部 , 或者mongod跟其他的一些进程一起部署 , 则需要根据分给mongod的内存配额来配置
cacheSizeGB
, 按配额的60%左右配置即可 。
控制并发连接数
TCP连接对 mongod 的内存开销上面已经详细分析了 , 很多同学对并发有一定误解 , 认为「并发连接数越高 , 数据库的QPS就越高」 , 实际上在大部分数据库的网络模型里 , 连接数过高都会使得后端内存压力变大、上下文切换开销变大 , 从而导致性能下降 。
推荐阅读
- 小鱼人|如何在新赛季稳定上分?善于抓失误的小鱼人,值得认真练上一波
- 阴阳师|阴阳师SR川猿强度如何 是否值得抽卡 改变斗技环境 大佬的新玩具
- 手机游戏|梦幻西游手游:活力如何换金币 一切都已给出 就看你的选择
- 华佗|三国杀:两位\奶爸\,朱治与华佗比,强度如何呢?
- 亲朋上分|《亲朋上分》266391亲朋下分亲朋上下分永劫无间崔三娘技能介绍 崔三娘如何获得更多技能
- 金铲铲之战|金铲铲之战新赛季最强阵容:学院名流永恩,低分段玩家谨慎使用
- 激战2|MMORPG集体放大招?魔兽、FF14、激战2均使用End迎来主线剧情终章!
- s6|金铲铲之战:S6双城传说如何才能快速上手?基础知识很关键
- |冰雪传奇:平民玩家四转后如何打金
- 穿越火线|CF:传说武器再度上新,那王者、炫金该如何发展?