文章目錄
-
-
-
- 1.Mem 解析
-
- buffers 與cached的差別?
- 2.-/+ buffers/cache 解析
- 3.Swap 解析
-
-
free是一個可以為我們提供linux機器可用RAM(記憶體)很有價值的一個常用指令,很多linux新手或者運維人員會誤解它,讓我們一起來揭開它的神秘面紗吧!
free的輸出結果如下,預設表示這些數字都是以KB為機關的,如果想輸出可讀的可以加上-h 、-m等參數
[[email protected] ~]$ free
total used free shared buffers cached
Mem: 16467080 10999040 5468040 544 231280 646008
-/+ buffers/cache: 10121752 6345328
Swap: 0 0 0
1.Mem 解析
對應的數值 | 參數名稱 | 含義 |
---|---|---|
16467080 | total | 目前機器總共可用的記憶體數,由于使用了-m 參數,是以該數值是以MB為機關 |
10999040 | used | 已經被使用的記憶體,包含buffers和cached |
5468040 | free | 空餘的記憶體 |
544 | shared | 表示多個程序共享記憶體 |
231280 | buffers | 在linux系統中為不同應用緩沖資料所使用的記憶體數 |
646008 | cached | 為将來快速通路為目的而緩存資料使用的空間 |
buffers 與cached的差別?
buffers:是存儲特定應用程式資料的臨時位置,任何其他應用程式都不會使用此資料。類似于帶寬,當您嘗試通過
網絡發送大量資料時,如果您得帶寬很小,隻能發送很少的資料時,系統會将這些還未發送的資料儲存在buffer裡面,
以便可以以較低的速度不斷的發送資料。
cached:是存儲常用的資料以便更快通路的位置。
不同點:cache裡面的資料可以多次使用,而buffer是一次性的。
相同點:兩者都是臨時存儲,用于資料處理。
2.-/+ buffers/cache 解析
對應的數值 | 參數名稱 | 含義 |
---|---|---|
10121752 | - buffers/cache | 真實被系統或應用程式所使用的記憶體,計算公式:used - (buffers + cache),10999040 - 231280 - 646008= 10121752 |
6345328 | + buffers/cache | 真實可以使用的記憶體,計算公式:total - (上面真實被使用掉的記憶體),16467080- 10121752 = 6345328 |
tips:
1.為什麼在Mem:那一行中的used 顯示的是10999040呢?是因為linux 把cached 和buffered 記憶體也統計到裡面去了,當時将來如果任何應用程式想使用記憶體,linux将為您釋放掉cached和buffered。
2.不要抱怨linux占用了您太多的記憶體,這是誤解free 這個老鐵了,如果有人問您現在伺服器可用的記憶體是多少時,您應該說6345328 kb而不是第一行的10999040 kb。
3.Swap 解析
Swap 行辨別交換詳細資訊,如swap的總大小,已經使用的swap大小和空閑的swap空間,Swap是在磁盤上建立的虛拟記憶體,可虛拟增加記憶體大小。