激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - MongoDB - MongoDB 內存使用情況分析

MongoDB 內存使用情況分析

2020-09-29 16:59MongoDB教程網 MongoDB

都說 MongoDB 是個內存大戶,但是怎么知道它到底用了多少內存呢

MongoDB是一個基于分布式文件存儲的數據庫。由C++語言編寫。旨在為WEB應用提供可擴展的高性能數據存儲解決方案。

MongoDB是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。他支持的數據結構非常松散,是類似json的bson格式,因此可以存儲比較復雜的數據類型。Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。

先 ps 一下看看。

 

復制代碼 代碼如下:

$ ps aux|grep mongod
mongo    26994  9.0 20.0 797264324 13243052 ?  Sl   May16 117:03 /path/to/mongodb/bin/mongod

 

總共 760G 多的虛擬內存,但是物理內存就只有 12.6G 。這個機器可是有 64G 內存的哦,這看起來 MongoDB 完全沒用多少內存嘛。

再看看 free 的結果。

 

復制代碼 代碼如下:

$ free -m
             total       used       free     shared    buffers     cached
Mem:         64544      64279        265          0        134      60413
-/+ buffers/cache:       3731      60813
Swap:        31999          0      31999

 

內存倒是占得差不多了,基本都是 cached ,也就是文件系統緩存。MongoDB 是通過 mmap 方式讓操作系統來處理持久化和緩存的。每個數據文件都直接映射到某個虛擬內存地址。訪問的時候如果這一頁不在內存中,系統就會嘗試把這一頁加載進來。這些內存都是算進 cache 里的。在 mongodb 的官方文檔里有這樣一個說法,top 或 ps 里的 RSIZE 段顯示的是機器的全部內存大小,因為 mongodb 會盡可能占用全部內存。但是事實上,這些緩存并沒有算在里面。因此在 top 或 ps 中是看不出 MongoDB 的實際內存使用情況的。而 free 雖然可以看到系統的內存使用情況,但是沒法確定這些內存里究竟有多少真的是 MongoDB 使用的。

還好有人做了 vmtouch 這個工具。可以檢查文件在緩存中的情況,另外也可以把文件直接加載進緩存或者踢出去。只需要對 MongoDB 的所有數據文件檢查一下緩存加載情況,就可以知道 MongoDB 到底緩存了多少數據了。

 

復制代碼 代碼如下:

$ vmtouch -m4G /path/to/mongodb/data/
           Files: 256
     Directories: 3
  Resident Pages: 15465901/100219772  58G/382G  15.4%
         Elapsed: 4.072 seconds

 

這里 -m4G 是 vmtouch 檢查的文件大小限制。MongoDB 的數據文件比較大,通常會超過默認的 500M。這樣看來,緩存用了 58G,這還差不多。Resident Pages 左側的數字是頁的數量,頁的數量乘以文件系統頁大小才是內存使用量。頁的大小可以通過

 

復制代碼 代碼如下:

getconf PAGESIZE

 

查看,通常是 4096,也就是 4KB。

MongoDB 在 NUMA 的機器上運行,并且內存被固定到一個 node 的時候,會有一個警告

 

復制代碼 代碼如下:

WARNING: You are running on a NUMA machine.
We suggest launching mongod like this to avoid performance problems:
numactl –interleave=all mongod [other options]

 

也許是認為,這種情況下只能用上一個節點的內存。但 MongoDB 的緩存是由操作系統管理的。NUMA 似乎對此并沒有影響。而內存不太小的時候 MongoDB 本身很難用掉一個節點的內存。這種情況下,是否開啟 numactl –interleave=all 作用已經不大了。能做的也許只能是加內存,sharding,或者換 ssd 了。

出處:http://xiezhenye.com/2013/05/mongodb-%e5%86%85%e5%ad%98%e4%bd%bf%e7%94%a8.html

延伸 · 閱讀

精彩推薦
  • MongoDBmongodb基本命令實例小結

    mongodb基本命令實例小結

    這篇文章主要介紹了mongodb基本命令,結合實例形式總結分析了MongoDB數據庫切換、查看、刪除、查詢等基本命令用法與操作注意事項,需要的朋友可以參考下...

    dawn-liu3652020-05-26
  • MongoDB遷移sqlserver數據到MongoDb的方法

    遷移sqlserver數據到MongoDb的方法

    這篇文章主要介紹了遷移sqlserver數據到MongoDb的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下...

    聽楓xl9682021-01-03
  • MongoDBMongoDB安裝圖文教程

    MongoDB安裝圖文教程

    這篇文章主要為大家詳細介紹了MongoDB安裝圖文教程,分為兩大部分為大家介紹下載MongoDB和安裝MongoDB的方法,感興趣的小伙伴們可以參考一下 ...

    Yangyi.He6132020-05-07
  • MongoDBMongoDB中javascript腳本編程簡介和入門實例

    MongoDB中javascript腳本編程簡介和入門實例

    作為一個數據庫,MongoDB有一個很大的優勢——它使用js管理數據庫,所以也能夠使用js腳本進行復雜的管理——這種方法非常靈活 ...

    MongoDB教程網6982020-04-24
  • MongoDBMongoDB 內存使用情況分析

    MongoDB 內存使用情況分析

    都說 MongoDB 是個內存大戶,但是怎么知道它到底用了多少內存呢...

    MongoDB教程網10002020-09-29
  • MongoDBMongodb實現定時備份與恢復的方法教程

    Mongodb實現定時備份與恢復的方法教程

    這篇文章主要給大家介紹了Mongodb實現定時備份與恢復的方法教程,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面...

    chenjsh364522020-05-13
  • MongoDBMongoDB憑什么躋身數據庫排行前五

    MongoDB憑什么躋身數據庫排行前五

    MongoDB以比去年同期超出65.96分的成績繼續雄踞榜單前五,這個增幅在全榜僅次于PostgreSQL的77.99,而其相對于4月份的6.10分的增長也是僅次于微軟SQL Server排名...

    孫浩峰3892020-05-22
  • MongoDB分布式文檔存儲數據庫之MongoDB分片集群的問題

    分布式文檔存儲數據庫之MongoDB分片集群的問題

    這篇文章主要介紹了分布式文檔存儲數據庫之MongoDB分片集群的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋...

    Linux-18743072020-12-20
主站蜘蛛池模板: 涩涩99| 久久精品亚洲一区二区三区观看模式 | 91短视频版高清在线观看免费 | 久夜tv| 国产一级免费电影 | 久久草在线观看视频 | 草草在线观看 | 成人不卡一区二区 | 欧美日韩亚洲国产精品 | 久久久久国产视频 | 国产成人自拍小视频 | 精品亚洲网站 | 91看片www | 黄色美女网站免费看 | 二级大黄大片高清在线视频 | 欧美国产综合视频 | 国产精品久久在线观看 | 黄网站免费在线看 | 欧美人的天堂一区二区三区 | 日本aaa一级片 | 成人羞羞网站入口 | 亚洲一区二区三区在线免费观看 | 欧美一级电影网站 | 国产又粗又爽又深的免费视频 | 美国av免费看 | 国产精品久久久久久久久粉嫩 | 欧美日韩亚洲在线观看 | 午夜精品福利在线观看 | 一级片在线免费观看 | 成人做爽爽爽爽免费国产软件 | chinesexxxx刘婷hd 国产91在线播放九色 | a网站在线| 亚洲看片网 | 久久伊| 香蕉成人在线视频 | 日韩av片在线免费观看 | 久久免费观看一级毛片 | 精品在线视频观看 | 黄视频 | 国产成人高清成人av片在线看 | 欧美亚洲一区二区三区四区 |