linux 檢視記憶體與mongodb怎樣使用記憶體

2021-09-02 16:50:42 字數 1000 閱讀 3241

1.

linux記憶體檢視

使用free命令檢視記憶體占用情況

shell>free -m +回車

顯示記憶體

total:物理記憶體的總大小

used:已經使用的物理記憶體大小

free:空閒的物理記憶體大小

shared:多個程序共享的記憶體大小

buffers/cached:磁碟快取的大小

第二行mem:代表物理記憶體使用情況

第三行(-/+ buffers/cached):代表磁碟快取使用狀態

第四行:swap表示交換空間記憶體使用狀態

新手看到used一欄數值偏大,free一欄數值偏小,往往會認為記憶體要用光了。其實並非如此,之所以這樣是因為每當我們操作檔案的時候,linux都會盡可能的把檔案快取到記憶體裡,這樣下次訪問的時候,就可以直接從記憶體中取結果,所以cached一欄的數值非常的大,不過不用擔心,這部分記憶體是可**的,作業系統的虛擬記憶體管理器會按照lru演算法淘汰冷資料。還有乙個buffers,也是可**的,不過它是保留給塊裝置使用的。

我們就可以推算出系統可用的記憶體是free + buffers + cached:2723+239+25880=28842

系統實際使用的記憶體是used – buffers – cached:29377-239-25880=3258

2.mongodb怎樣使用記憶體:

mongodb使用記憶體對映儲存引擎,

它會把資料檔案對映到記憶體中,如果是讀操作,記憶體中的資料起到快取的作用,如果是寫操作,記憶體還可以把隨機的寫操作轉換成順序的寫操作,總之可以大幅度提公升效能。mongodb並不干涉記憶體管理工作,而是把這些工作留給作業系統的虛擬記憶體管理器去處理,這樣做的好處是簡化了mongodb的工作,但壞處是你沒有方法很方便的控制mongodb占多大記憶體,幸運的是虛擬記憶體管理器的存在讓我們多數時候並不需要關心這個問題。

mongodb的記憶體使用機制讓它在快取重建方面更有優勢,簡而言之:如果重啟程序,那麼快取依然有效,如果重啟系統,那麼可以通過拷貝資料檔案到/dev/null的方式來重建快取

linux釋放記憶體與檢視記憶體情況

linux釋放記憶體的命令 sync echo 1 proc sys vm drop caches drop caches的值可以是0 3之間的數字,代表不同的含義 0 不釋放 系統預設值 1 釋放頁快取 2 釋放dentries和inodes 3 釋放所有快取 free m 檢視記憶體使用情況 注...

linux 檢視記憶體

free watch n 2 d freewatch命令會每兩秒執行 free一次,執行前會清除螢幕,在同樣位置顯示資料。因為 watch命令不會捲動螢幕,所以適合出長時間的監測記憶體使用率。能夠使用 n選項,控制執行的頻率 也能夠利用 d選項,讓命令將每次不同的地方顯示出來。watch命令會一直執...

Linux下檢視記憶體

前言 在linux上不像在windows上看記憶體那樣方便,而且還有swap這個新的概念,所以知道如何來看linux記憶體還是有一定意義的.在linux下檢視記憶體我們一般用command free root nonamelinux free total used free shared buffe...