Linux free 命令大揭秘

2021-09-23 15:25:27 字數 2008 閱讀 6629

2.-/+ buffers/cache 解析

3.swap 解析

free是乙個可以為我們提供linux機器可用ram(記憶體)很有價值的乙個常用命令,很多linux新手或者運維人員會誤解它,讓我們一起來揭開它的神秘面紗吧!

free的輸出結果如下,預設表示這些數字都是以kb為單位的,如果想輸出可讀的可以加上-h 、-m等引數

[dev@dc-dev-datanode-01 ~]$ 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

空餘的記憶體

544shared

表示多個程序共享記憶體

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是在磁碟上建立的虛擬記憶體,可虛擬增加記憶體大小。

Linux free命令詳解

free命令統計出來的記憶體非常具有迷惑性,現在總結如下 第一部分mem行 total 記憶體總數 7863m userd 已經使用的記憶體使用總數 7039m free 剩餘的記憶體總數 823m share 當前已經廢棄不用的記憶體總數 0 buffers 當前被使用的快取大小 583m cac...

linux free命令詳解

free m total used free shared buffers cached mem 1002 769 232 0 62 421 buffers cache 286 715 swap 1153 0 1153 第一部分mem行 total 記憶體總數 1002m used 已經使用的記憶體...

Linux free命令解釋

free 是linux 檢視作業系統整體記憶體使用情況的最常用的命令。但是free命令中的具體field代表哪些含義,這些field之間的具體關係是什麼。恐怕還是有部分同學不太清楚。預設的單位是kbyte。ansen localhost free total used free shared buf...