萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> Linux的free命令來顯示系統中空閒和已使用的內存

Linux的free命令來顯示系統中空閒和已使用的內存

   系統管理員必須維護他們服務器的健康運行。其中一個重要的部分就是內存。當服務器內存使用率過高時,它會降低服務器的性能。Linux有一個稱為 free 的工具,來監控內存使用率。

  free 命令是什麼

  free 命令是一個顯示系統中空閒和已用內存大小的工具。free 命令的輸出和 top 命令相似。大多數Linux發行版已經含有 free 命令。

  如何運行 free

  想要運行,只需在控制台輸入free 即可。不帶選項運行會顯示一個以KB為單位的默認輸出。

  $ free

  從上面的截圖我們看到:

Linux的free命令來顯示系統中空閒和已使用的內存 三聯

  內存 (以KB計)

  ■Total(全部) : 1026740

  ■Used(已用) : 843396

  ■Free(可用) : 183344

  ■Shared(共享) : 0

  ■Buffers(塊設備緩存區) : 52704

  ■Cached(文件緩存) : 376384

  buffers是指用來給塊設備做的緩沖大小,他只記錄文件系統的metadata以及 tracking in-flight pages.

  cached是用來給文件做緩沖。

  那就是說:buffers是用來存儲,目錄裡面有什麼內容,權限等等。而cached直接用來記憶我們打開的文件

  Swap (以KB計)

  ■Total(全部) : 1045500

  ■Used(已用) : 3376

  ■Free(可用) : 1042124

  當你看見 buffer/cache 的空閒空間低或者 swap 的空閒空間低,說明內存需要升級了。這意味這內存利用率很高。請注意 shared(共享)內存列應該被忽略 ,因為它已經被廢棄了。

  以其它單元顯示內存信息

  如我們先前提到的,默認 free 會以 KB 為單位顯示信息。free 同樣提供給我們 b (B), -k (KB), -m (MB), -g (GB) and –tera (TB)這些單位。要顯示我們想要的單位,只要選擇一個並在 free 後面跟上。下面一個是以 MB 為單位的輸出樣例。

  $ free -m

free命令以MB為單位

  這個技巧同樣適用於-b, -k, -g 以及 –tera 選項。

  以適於人類可讀方式顯示內存信息

  free 同樣提供了-h選項,這意味著適於人類可讀(譯注:系統上可能並不存在-h選項,已被-m取代)。那麼這與其它的選項有什麼不同呢,如-m(MB)選項? 可見的最大不同是-h選項會在數字後面加上適於人類可讀的單位。讓我們看一個例子。

  $ free -h

人類可讀的free

  如我們一起看到的,在1,0數字後這裡是G(GB)字母。當數字並沒有達到GB時,free足夠聰明來知道並在每個數字後面跟上合適的單位。後面的M - 數字929告訴我們它有929MB(譯注: 原文為929 number tell us its 969 Megabytes,這裡應該為輸入錯誤)。

  間隔顯示 free

  作為一個狀態檢查工具,最好的統計內存利用率的方法是使用延遲間隔。這麼做的話,我們可以使用-s選項後面跟上我們想要間隔的N秒數。我們可以在後面合並幾個選項來使輸出滿足我們的需求。假如我們想要每3秒統計一次內存利用率並且適於人類可讀,那麼就像這樣做:

  $ free -hs 3

間隔3s顯示free

  顯示高低內存利用率

  如果我們想要知道高低內存統計,我們可以使用-l選項。下面是一個例子。

  $ free -l

Free 的 低-高 統計

  顯示 Linux 全部內存

  如果我們需要每列的總計信息,我們可以在 free 命令後面跟上 -t 選項。這會在字底部額外加入一行顯示。

  $ free -t

free命令帶總計內存

  總結

  除了vmstat以外,free 命令也是一個用於統計內存利用率的簡單統計工具。用這個你可以快速查看你的 Linux 內存信息。free 命令使用 /proc/meminfo 作為基准來顯示內存利用率信息。如往常一樣,你可以在控制台下輸入 man free來獲取更多關於 free 的信息。

copyright © 萬盛學電腦網 all rights reserved