Linux free 命令 – 顯示系統中空閑和已使用的內存
free 命令是什麼
free 命令是一個顯示系統中空閑和已用內存大小的工具。free 命令的輸出和 top 命令相似。大多數Linux發行版已經含有 free 命令。
如何運行 free
想要運行,只需在控制台輸入free 即可。不帶選項運行會顯示一個以KB為單位的默認輸出。
$ free
從上面的截圖我們看到:
內存 (以KB計)
- Total(全部) : 1026740
- Used(已用) : 843396
- Free(可用) : 183344
- Shared(共享) : 0
- Buffers(塊設備緩存區) : 52704
- Cached(文件緩存) : 376384
譯註:關於Buffers和Cached的區別,來自 http://www.taobaotesting.com/blogs/qa?bid=2265 的一段解釋如下:
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
這個技巧同樣適用於-b, -k, -g 以及 –tera 選項。
以適於人類可讀方式顯示內存信息
free 同樣提供了-h選項,這意味著適於人類可讀(譯註:系統上可能並不存在-h選項,已被-m取代)。那麼這與其它的選項有什麼不同呢,如-m(MB)選項? 可見的最大不同是-h選項會在數字後面加上適於人類可讀的單位。讓我們看一個例子。
$ free -h
如我們一起看到的,在1,0數字後這裡是G(GB)字母。當數字並沒有達到GB時,free足夠聰明來知道並在每個數字後面跟上合適的單位。後面的M - 數字929告訴我們它有929MB(譯註: 原文為929 number tell us its 969 Megabytes,這裡應該為輸入錯誤)。
間隔顯示 free
作為一個狀態檢查工具,最好的統計內存利用率的方法是使用延遲間隔。這麼做的話,我們可以使用-s選項後面跟上我們想要間隔的N秒數。我們可以在後面合併幾個選項來使輸出滿足我們的需求。假如我們想要每3秒統計一次內存利用率並且適於人類可讀,那麼就像這樣做:
$ free -hs 3
顯示高低內存利用率
如果我們想要知道高低內存統計,我們可以使用-l選項。下面是一個例子。
$ free -l
顯示 Linux 全部內存
如果我們需要每列的總計信息,我們可以在 free 命令後面跟上 -t 選項。這會在字底部額外加入一行顯示。
$ free -t
總結
除了vmstat以外,free 命令也是一個用於統計內存利用率的簡單統計工具。用這個你可以快速查看你的 Linux 內存信息。free 命令使用 /proc/meminfo 作為基準來顯示內存利用率信息。如往常一樣,你可以在控制台下輸入 man free 來獲取更多關於 free 的信息。
via: http://linoxide.com/linux-command/linux-free-command/
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive