精华内容
下载资源
问答
  • mongodb 3.2配置内存缓存大小为MB/MongoDB 3.x内存限制配置 mongodb占用内存非常高,这是因为官方为了提升存储的效率,设计...- -wiredTigerCacheSizeGB number New in version 3.0. Defines the maximum size of the i

    mongodb 3.2配置内存缓存大小为MB/MongoDB 3.x内存限制配置

    mongodb占用内存非常高,这是因为官方为了提升存储的效率,设计就这么设计的。

    但是大部分的个人开发者所购买的服务器内存并没有那么大,所以,我们需要配置下MongoDB的内存缓存大小,不然mongodb会占用非常多。

    WiredTiger Options

    - -wiredTigerCacheSizeGB number
    New in version 3.0.

    Defines the maximum size of the internal cache that WiredTiger will use for all data.

    With WiredTiger, MongoDB utilizes both the WiredTiger internal cache and the filesystem cache.

    Changed in version 3.2: Starting in MongoDB 3.2, the WiredTiger internal cache, by default, will use the larger of either:

    • 60% of RAM minus 1 GB, or
    • 1 GB.

    mongodb会尽可能的把所有的数据都缓存,以便提高效率。

    以mongodb 3.2为例,WiredTiger内部缓存,默认会用掉

    • 60% * 内存 - 1GB
    • 1GB

    当你的内存大于1GB,mongodb会用掉 内存的60% - 1GB 的内存作为缓存;

    当你的内存小于1GB,mongodb会直接用掉1GB。

    另外,MongoDB 3.4与3.2也是有区别的

    MongoDB 3.4该配置项为:
    参考官方demo
    https://docs.mongodb.com/v3.4/reference/configuration-options/#storage-options

    storage.wiredTiger.engineConfig.cacheSizeGB
    

    Type: float

    The maximum size of the internal cache that WiredTiger will use for all data.

    Changed in version 3.4: Values can range from 256MB to 10TB and can be a float. In addition, the default value has also changed.

    Starting in 3.4, the WiredTiger internal cache, by default, will use the larger of either:

    • 50% of RAM minus 1 GB, or
    • 256 MB.

    参考配置:
    https://jira.mongodb.org/browse/SERVER-22274

    下面是修改后的配置:/etc/mongod.conf

    Where and how to store data.

    storage:
       dbPath: /var/lib/mongo
       #dbPath: /mongodata
       journal:
         enabled: true
    #  engine:
       mmapv1:
         smallFiles: true
       wiredTiger:
         engineConfig:
           configString : cache_size=512M
    

    在docker-compose.yml中配置

    可参考
    在这里插入图片描述

    展开全文
  • 解决方案是使用 --wiredTigerCacheSizeGB设置内存大小, --------------------- 作者:Sumtoo 来源:CSDN 原文:https://blog.csdn.net/LuyaoYing001/article/details/75576820 版权声明:本文为博主原创文章...

    用top命令查看系统占用内存的情况 top -p $(pidof mongod),发现mongod占用了8G内存的35.6%。在服务器上运行两个mongod进程,很容易导致mongod异常退出。

    一度以为是C++程序发生内存泄漏导致了系统异常崩溃,现在可以肯定是由mongod配置的内存占用太高导致的。

     

    (也可以通过命令 free -m 查看系统的内存使用情况,但是要注意可用内存是free+buffers+cached)

    内存不足引发bulk_write_exception。

     


    关于mongod如何管理内存,度娘有如下一段话:

    目前,MongoDB使用的是内存映射存储引擎,它会把磁盘IO操作转换成内存操作,如果是读操作,内存中的数据起到缓存的作用,如果是写操作,内存还可以把随机的写操作转换成顺序的写操作,总之可以大幅度提升性能。MongoDB并不干涉内存管理工作,而是把这些工作留给操作系统的虚拟缓存管理器去处理,这样的好处是简化了MongoDB的工作,但坏处是你没有方法很方便的控制MongoDB占多大内存,事实上MongoDB会占用所有能用的内存,所以最好不要把别的服务和MongoDB放一起。

    MongoDB Manual上说:

    MongoDB keeps most recently used data in RAM. If you have created indexes for your queries and your working data set fits in RAM, MongoDB serves all queries from memory.

    简而言之,就是mongod把这事交给操作系统了,缺了就跟OS要内存,多了也不还,爱咋咋地。

    如果需要强行收回内存也不是没有办法:

    重启mongod,或者调用 db.runCommand({closeAllDatabases:1})来清除内存
    使用Linux命令清除缓存中的数据:echo 3 > /proc/sys/vm/drop_caches

    在应用运行过程中重启mongod,是比较ugly的做法,可以尝试使用第二种方法。

    还有没有更好的方法控制mongodb占用的内存大小呢?

    查看mongod -h发现mongod提供了额外的可选参数来控制WiredTiger存储引擎所占用的cache size。需要注意的是,cache size设置较低,同时mongodb复杂查询很频繁的话,会有延迟发生。

    cacheSizeGB 指的就是Cache size,包括数据和索引。Mongod本身使用内存如连接池堆栈以及sorting buffer等都是额外的,不会被统计到这个数字里面。如果索引在内存,查询冷数据取决于你的IO能力。如果IO latency很低,系统也没有是高负载,那响应时间应该是毫秒级的区别。但是如果查询很频繁,又涉及到很多范围、批量查询,IOPS又跟不上,那就有可能到几百几千毫秒都有可能。

     

    Starting in 3.4, the WiredTiger internal cache, by default, will use the larger of either:

    50% of RAM minus 1 GB, or
    256 MB.

    从官方文档可以得知,一个mongod实例几乎要占用服务器上一般的内存,也就是说,如果在同一台服务器上同时开始两个或以上mongod实例,那么很大可能会发生内存不足而异常退出。这就是导致bulk_write_exception问题的原因。

    解决方案是使用 --wiredTigerCacheSizeGB设置内存大小,


    ---------------------
    作者:Sumtoo
    来源:CSDN
    原文:https://blog.csdn.net/LuyaoYing001/article/details/75576820
    版权声明:本文为博主原创文章,转载请附上博文链接!

    转载于:https://www.cnblogs.com/ExMan/p/10758548.html

    展开全文
  • [root@iZ2zed126f44v90yv59ht3Z rabbitmq]# cat /usr/local/mongodb/mongodb.conf port = 27017 dbpath = /usr/local/...wiredTigerCacheSizeGB = 10 转载于:https://www.cnblogs.com/gaoyuechen/p/9487745.html

    [root@iZ2zed126f44v90yv59ht3Z rabbitmq]# cat /usr/local/mongodb/mongodb.conf
    port = 27017
    dbpath = /usr/local/mongodb/data
    logpath = /usr/local/mongodb/logs/mongodb.log
    fork = true
    logappend = true
    auth = true
    rest = true
    maxConns = 20000
    directoryperdb=true
    wiredTigerCacheSizeGB = 10

    转载于:https://www.cnblogs.com/gaoyuechen/p/9487745.html

    展开全文
  • 解决方案是使用 --wiredTigerCacheSizeGB设置内存大小, --------------------- 作者:Sumtoo 来源:CSDN 原文:https://blog.csdn.net/LuyaoYing001/article/details/75576820 版权声明:本文为博主原创文章,转载...

    用top命令查看系统占用内存的情况 top -p $(pidof mongod),发现mongod占用了8G内存的35.6%。在服务器上运行两个mongod进程,很容易导致mongod异常退出。

    一度以为是C++程序发生内存泄漏导致了系统异常崩溃,现在可以肯定是由mongod配置的内存占用太高导致的。

    (也可以通过命令 free -m 查看系统的内存使用情况,但是要注意可用内存是free+buffers+cached)

    内存不足引发bulk_write_exception。

    关于mongod如何管理内存,度娘有如下一段话:

    目前,MongoDB使用的是内存映射存储引擎,它会把磁盘IO操作转换成内存操作,如果是读操作,内存中的数据起到缓存的作用,如果是写操作,内存还可以把随机的写操作转换成顺序的写操作,总之可以大幅度提升性能。MongoDB并不干涉内存管理工作,而是把这些工作留给操作系统的虚拟缓存管理器去处理,这样的好处是简化了MongoDB的工作,但坏处是你没有方法很方便的控制MongoDB占多大内存,事实上MongoDB会占用所有能用的内存,所以最好不要把别的服务和MongoDB放一起。

    MongoDB Manual上说:

    MongoDB keeps most recently used data in RAM. If you have created indexes for your queries and your working data set fits in RAM, MongoDB serves all queries from memory.

    简而言之,就是mongod把这事交给操作系统了,缺了就跟OS要内存,多了也不还,爱咋咋地。

    如果需要强行收回内存也不是没有办法:

    重启mongod,或者调用 db.runCommand({closeAllDatabases:1})来清除内存

    使用Linux命令清除缓存中的数据:echo 3 > /proc/sys/vm/drop_caches

    在应用运行过程中重启mongod,是比较ugly的做法,可以尝试使用第二种方法。

    还有没有更好的方法控制mongodb占用的内存大小呢?

    查看mongod -h发现mongod提供了额外的可选参数来控制WiredTiger存储引擎所占用的cache size。需要注意的是,cache size设置较低,同时mongodb复杂查询很频繁的话,会有延迟发生。

    cacheSizeGB 指的就是Cache size,包括数据和索引。Mongod本身使用内存如连接池堆栈以及sorting buffer等都是额外的,不会被统计到这个数字里面。如果索引在内存,查询冷数据取决于你的IO能力。如果IO latency很低,系统也没有是高负载,那响应时间应该是毫秒级的区别。但是如果查询很频繁,又涉及到很多范围、批量查询,IOPS又跟不上,那就有可能到几百几千毫秒都有可能。

    Starting in 3.4, the WiredTiger internal cache, by default, will use the larger of either:

    50% of RAM minus 1 GB, or

    256 MB.

    从官方文档可以得知,一个mongod实例几乎要占用服务器上一般的内存,也就是说,如果在同一台服务器上同时开始两个或以上mongod实例,那么很大可能会发生内存不足而异常退出。这就是导致bulk_write_exception问题的原因。

    解决方案是使用 --wiredTigerCacheSizeGB设置内存大小,

    ---------------------

    作者:Sumtoo

    来源:CSDN

    原文:https://blog.csdn.net/LuyaoYing001/article/details/75576820

    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 内存限制

    2020-12-24 09:15:19
    或者参考docker hub中简介使用wiredTigerCacheSizeGB参数启动: docker run --name some-mongo -d mongo --wiredTigerCacheSizeGB 1.5 1.2 运行中的容器可使用 docker update -m 1g name 来更新容器使用内存...
  • MongoDB内存占用过高问题解决方案

    千次阅读 2020-05-09 15:28:07
    或者参考docker hub中简介使用wiredTigerCacheSizeGB参数启动: docker run --name some-mongo -d mongo --wiredTigerCacheSizeGB 1.5 1.2 运行中的容器可使用 docker update -m 1g name 来更新容器使用内存...
  • windows下修改mongodb 内存占用方法

    千次阅读 2019-01-08 11:01:26
    在 mongo.conf 文件中添加  wiredTigerCacheSizeGB=4 (4表示4个GB)
  • <p>I am proposing to check actual memory limit in docker-entrypoint.sh and set <code>--wiredTigerCacheSizeGB</code> or <code>storage.wiredTiger.engineConfig.cacheSizeGB</code> in config to repond to ...
  • I want to be able to set custom run time parameters to <code>mongod</code> like <code>--wiredTigerCacheSizeGB</code> for better control in my Kubernetes environment (I use your public helm chart). ...
  • <p><code>mlaunch init --replicaset --nodes 2 --arbiter --wiredTigerCacheSizeGB 1 --csrs --sharded 3</code></p> <p>but removing either --arbiter or --csrs seems to fix the problem.</p><p>该提问来源于...
  • 疑问2:我设置了启动参数wiredTigerCacheSizeGB=100,但是现在使用内存超过了100G,看官网文档上说,mongodb有两部分内存,一个是WiredTiger internal cache,一个是file system cache,wiredTigerCacheSizeGB参数...
  • https://docs.mongodb.com/v3.0/reference/configuration-options/里面是配置yum的如果在mongod 命令后面加配置。例如内存参数mongod --help 来查找 mongod --confog xxxx --wiredTigerCacheSizeGB=5...
  • Mongo 副本集创建

    2020-06-10 10:22:29
    1修改配置文件 sudo vim /usr/local/mongodb4.2/bin/mongodb.conf logpath=/Users/sw/mongodata/logs/...wiredTigerCacheSizeGB=2 port=27017 replSet=rs0 auth=true keyFile=/Users/sw/keyfile sudo vim /usr/l
  • Mongodb常用操作

    2019-03-05 09:15:00
    /u01/dsapp/mongodb-3.4.5/bin/mongod --config /u01/dsapp/mongodb-3.4.5/data/mongodb.conf --wiredTigerCacheSizeGB 10 二、查看mongodb内存消耗 /u01/dsapp/mongodb-3.4.5/bin/mongostat -h 127.0....
  • mongod --bind_ip 0.0.0.0 --replSet shard1 --dbpath /data/shard1 --logpath /data/shard1/mongod.log --port 27010 --fork --shardsvr --wiredTigerCacheSizeGB 0 .1 rs.initiate({ _id:"shard1", "members":[ {...
  • mongo相关

    2017-11-23 21:55:00
    1、启动mongo服务:mongod --port 8051 --dbpath E:\GameDB\DB --wiredTigerCacheSizeGB 5(端口,数据路径、内存上限控制,单位为G) 2、简单的mongo定时完全备份批处理 1 @rem 备份mongo数据库批处理 2 @...
  • 在使用MongoDB的时候遇到了一个内存占用的问题,爬虫爬过来的图片在库中存的是网络地址,要写一个脚本对图片进行分批.../usr/bin/mongod --config /etc/mongod.conf --fork --wiredTigerCacheSizeGB 8 关键在于 --wi..
  • wiredTigerCacheSizeGB 属性,限制内存占用 但是不就多占点内存么,为啥杀的是我??? 顺便看下linux OOM Killer原理。 源代码在https://github.com/torvalds/linux/blob/master/mm/oom_ki
  • --wiredTigerCacheSizeGB=2 - MONGODB_ENABLE_DIRECTORY_PER_DB=yes - MONGODB_ROOT_PASSWORD=password123 - MONGODB_USERNAME=my_user - MONGODB_PASSWORD=password123 - MONGODB_...
  • I set the mongodb <code>wiredTigerCacheSizeGB</code> to 10. I limited ELK-stack to 8g of RAM <code>"ES_JAVA_OPTS=-Xms8g -Xmx8g"</code>. Additionally, queue_size is set to 200. CPU load ...
  • 15 --wiredTigerCacheSizeGB 0.25 --setParameter enableTestCommands=1 --setParameter diagnosticDataCollectionEnabled=false --filePermissions 0666 --binarypath /usr/local/m/versions/4.1 --port ...
  • --wiredTigerCacheSizeGB=2" and "--port=27017" but once I specify other settings, especially TLS/SSL settings, it doesnt run the pod. I expect to be able to specify the following in...
  • <div><p><strong>Which chart</strong>: bitnami/mongodb.3.0 <p><strong>Describe the bug i used the external service in mongodb chart (see values) but I couldn't connect to the replicaset using mongo...
  • <p><strong>Description I have deployed the Bitnami MongoDB via Helm on our Kubernetes/Openshift cluster. Our Openshift cluster consists out of only 3 nodes. I am trying to achieve a high available ...

空空如也

空空如也

1 2
收藏数 29
精华内容 11
关键字:

wiredtigercachesizegb