mongodb 3.2配置內存緩存大小爲MB/MongoDB 3.x內存限制配置

原創文章,轉載請註明: 轉載自勤奮的小青蛙
本文連接地址: mongodb 3.2配置內存緩存大小爲MB/MongoDB 3.x內存限制配置mongodb

mongodb佔用內存很是高,這是由於官方爲了提高存儲的效率,設計就這麼設計的。緩存

可是大部分的我的開發者所購買的服務器內存並無那麼大,因此,咱們須要配置下MongoDB的內存緩存大小,否則mongodb會佔用很是多。服務器

官方的配置緩存項處文檔是這麼解釋的:wordpress

WiredTiger Options

--wiredTigerCacheSizeGB numberpost

New in version 3.0.url

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

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會盡量的把全部的數據都緩存,以便提升效率。code

以mongodb 3.2爲例,WiredTiger內部緩存,默認會用掉

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

當你的內存大於1GB,mongodb會用掉 內存的60% - 1GB 的內存做爲緩存;

當你的內存小於1GB,mongodb會直接用掉1GB。

另外,MongoDB 3.4與3.2也是有區別的,MongoDB 3.4該配置項爲:

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.

 

這樣顯然很不合理,對於大部分的我的開發,內存是寶貴的。因此,咱們須要配置爲MB。

配置項參考此處配置:WiredTiger cache size is only configurable in whole gigabytes.

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

?

1

2

3

4

5

6

7

8

9

10

11

12

# 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

其實重點就是下面一項,配置以後,重啓mongodb生效:

?

1

2

3

wiredTiger:

    engineConfig:

      configString : cache_size=512M

原創文章,轉載請註明: 轉載自勤奮的小青蛙
本文連接地址: mongodb 3.2配置內存緩存大小爲MB/MongoDB 3.x內存限制配置

文章的腳註信息由WordPress的wp-posturl插件自動生成


 

|2|left

相關文章
相關標籤/搜索