mongodb記憶體使用率過高問題排查

2021-10-05 22:14:40 字數 711 閱讀 6778

1.在生產環境中,若不限制moongo對記憶體的使用,會導致mongo集群記憶體使用率飆公升。

2.物理記憶體和虛擬記憶體區別

物理記憶體和虛擬記憶體:

物理記憶體:真正的記憶體

虛擬記憶體:磁碟空間虛擬出的記憶體

3.記憶體飆公升的解決方法

通過設定 config, shard  cachesize的大小,限制mongo對記憶體的使用率

4.mongo命令:

1.mongo檢視連線數目

db.serverstatus().connections

2.使用mongos連線mongo資料庫

mongo 10.201.82.18:20000

20000是mongos的啟動埠而不是mongo的啟動埠

3.檢視集合條數

db.demo_collection.find().count();

4.檢視集合索引

db.demo_collection.getindexes()

5.檢視正在進行的查詢

6.檢視記憶體使用情況

db.serverstatus().mem

7.檢視當前正在進行的操作

db.currentop()

8.cachesizegb設定mongo能使用的記憶體

9.檢視執行緒快取使用的記憶體

db.serverstatus().tcmalloc

限制mongo記憶體的使用:

故障排查 記憶體使用率過高

本篇將介紹伺服器記憶體使用率過高的處理方案。記憶體方面主要關注兩個問題,第一 物理記憶體夠不夠用 第二 有沒有記憶體洩露。在linux系統中,free top vmstat等命令都會有系統記憶體使用率的輸出 程序占用 過多 執行時間太久 被植入異常木馬 記憶體洩漏 檢視記憶體佔用率top10的程序 ...

頻繁讀寫檔案導致記憶體使用率過高

最近接到乙個客戶反饋,說是伺服器記憶體使用過高,總記憶體16g,使用top命令檢視可用記憶體已經不足1g了。客戶環境伺服器為linux,部署了3個tomcat,每個tomcat均有大量的日誌產生。讓客戶使用free m檢查一下 此處有必要解釋一下free命令返回的各個引數的意思 直接轉了 解釋 可用...

Redis 記憶體使用率

1 redis cli命令列介面訪問到redis伺服器 2 輸入info memory命令,返回與記憶體相關的資料。used memory 由 redis 分配器分配的記憶體總量,包含了redis程序內部的開銷和資料占用的記憶體,以位元組 byte 為單位 used memory human 已更直...