当前位置: 首页 > news >正文

苏州网站制作专业小说网站wordpress

苏州网站制作专业,小说网站wordpress,抖音代运营公司排名前十强,秀屿区建设局网站告警 公司有个3.2.7版本的mongo复制集#xff0c;最近几天频繁告警内存过高。 服务器配置16C64G内存。mongo备节点内存使用到55G#xff0c;触发告警。 以下内容基于3.2.7版本#xff0c;3.2.7版本已经太老#xff0c;很多后来的命令和配置#xff0c;3.2.7都没有。 … 告警 公司有个3.2.7版本的mongo复制集最近几天频繁告警内存过高。 服务器配置16C64G内存。mongo备节点内存使用到55G触发告警。 以下内容基于3.2.7版本3.2.7版本已经太老很多后来的命令和配置3.2.7都没有。 排查 排查mongo配置 主要是检查cacheSizeGB wiredTiger: engineConfig: cacheSizeGB: 20 MongoDB 3.2 及以后默认使用 WiredTiger 存储引擎可通过 cacheSizeGB 选项配置 WiredTiger 引擎使用内存的上限一般建议配置在系统可用内存的一班左右。 默认值是(RAM – 1GB) / 2。出发点是防止系统OOM kill。因为这里的配置只是wiredTiger的内存cache限额并不是mongo的全部使用内存限额整个mongo进程的内存占用要比这个值大所以cacheSizeGB万万不可设置超过RAM的60%。 我们这里配置到了20G。但是实际运行中发现在并发查询很高的情况下wt的cacheSize还是会超过这个配置一点点。 查看mongo实例的内存使用情况db.serverStatus().wiredTiger.cache 返回结果中 bytes currently in the cache 后的值为缓存数据的大小... bytes currently in the cache : 21483838298, ... 已经用满了这种情况可以加一下内存了。但是内存太贵业务也没有那么高的性能要求保障不宕机是更有性价比的方案。 既然cache只用了20G 看看tcmalloc的情况db.serverStatus().tcmalloc ------------------------------------------------ MALLOC: 22351254936 (21315.8 MiB) Bytes in use by application MALLOC: 24922800128 (23768.2 MiB) Bytes in page heap freelist MALLOC: 449403872 ( 428.6 MiB) Bytes in central cache freelist MALLOC: 262144 ( 0.2 MiB) Bytes in transfer cache freelist MALLOC: 841870984 ( 802.9 MiB) Bytes in thread cache freelists MALLOC: 109572256 ( 104.5 MiB) Bytes in malloc metadata MALLOC: ------------ MALLOC: 48675164320 (46420.3 MiB) Actual memory used (physical swap) MALLOC: 8663441408 ( 8262.1 MiB) Bytes released to OS (aka unmapped) MALLOC: ------------ MALLOC: 57338605728 (54682.4 MiB) Virtual address space used MALLOC: MALLOC: 378600 Spans in use MALLOC: 1451 Thread heaps in use MALLOC: 8192 Tcmalloc page size ------------------------------------------------ Call ReleaseFreeMemory() to release freelist memory to the OS (via madvise()). Bytes released to the OS take up virtual address space but no physical memory. 可以看到page heap freelist占了大头。 解释一下57338605728 (54682.4 MiB) Virtual address space used 是mongo总的使用的虚拟内存。 48675164320 (46420.3 MiB) Actual memory used (physical swap)是mongo总的使用的实际内存。我没有开swap 实际内存又分成两部分freelist中的和非freelist的。freelist的就是已经分配后来又用完释放的内存存在这个freelist数据结构中已备后面重用这些内存我的理解就是我用完了但是我先拿着。这样后面的业务来了mongo就不需要再向os申请分配内存这一步了从性能和效率的维度来看更好。 但是缺点是内存一直没有还给os导致os角度来看内存的使用率很高。 tcmalloc 为性能考虑每个线程会有自己的 local free page cache还有 central free page cache内存申请时按 local thread free page cache central free page cache 查找可用内存找不到可用内存时才会从堆上申请当释放内存时也会归还到 cache 里tcmalloc 后台慢慢再归还给 OS操作系统 nbsp;多数情况下内存使用率高的原因是 tcmalloc 未能及时将内存归还给操作系统导致内存最大可能达到几十GB。mongo为了提高性能倾向于利用os上尽可能多的内存。 解决 所以可以将freelist的内存及时释放给os可以解决内存水位过高的问题。db.adminCommand({setParameter:1,tcmallocAggressiveMemoryDecommit:1}) tcmallocAggressiveMemoryDecommit 是一个服务器参数用于控制 TCMalloc 内存分配器在什么程度上积极地将不再使用的内存释放回操作系统。当设置为 1开启状态时tcmallocAggressiveMemoryDecommit 会使 TCMalloc 更积极地释放不再使用的内存。这意味着当应用程序释放内存后TCMalloc 会尝试将这部分内存标记为空闲并返回给操作系统而不是保留在进程的地址空间中以便快速重用。
http://www.pierceye.com/news/12625/

相关文章:

  • 昆明网站建设专家海外网站空间
  • 可以做电算化的网站建设网站用什么语言开发稳定
  • 做游戏音频下载网站企业网站建设综合实训学习体会
  • 网站怎么做飘窗常州企业建站系统
  • 打开网页出现网站建设中阿里云网站建设如何
  • 网站安全建设进展情况wordpress 支付方式
  • 怎么百度做网站培训机构网站建设
  • 关于网站推广做复刻衣服买网站
  • 大型的网站建设公司宁晋seo网站优化排名
  • 关于网站建设资金的报告安卓app开发工具
  • 佛山做网站制作收费网站怎么做
  • 渭南免费做网站公司网站建设素材使用应该注意什么
  • 网站规划建设与管理维护2016年做水果行业专业网站
  • 邯郸网站建设品牌加盟wordpress安装对搜索
  • wordpress 架站 电子书上海网站备案需要多久
  • 大连优化网站课程上海市工程建设信息网官方网站
  • 免费入驻的外贸网站网页设计策划书ppt
  • 家装业务员怎么做网站营销杭州室内设计工作室
  • 布吉网站设计临海外发加工网
  • 宿舍网站建设目的在线小游戏网页版
  • wp大学wordpress创建数据库廊坊百度关键词优化怎么做
  • 洛阳便宜网站建设价格如何网站做专题
  • wordpress主题知更鸟lts南宁关键词优化软件
  • 网站建设课程教学计划瑞郎网络
  • 哈尔滨制作企业网站产品开发过程
  • 微信公众号绑定网站楚雄做网站
  • 建网站要多少钱一台网站建设开发的条件
  • 北京金融网站建设建筑工程有限公司招聘信息
  • 诺盾网站建设电脑城网站开发需求分析
  • 免费网页游戏在线玩上海搜索引擎优化1