Linux中國

6 個例子讓初學者掌握 free 命令

在 Linux 系統上,有時你可能想從命令行快速地了解系統的已使用和未使用的內存空間。如果你是一個 Linux 新手,有個好消息:有一條系統內置的命令可以顯示這些信息:free

在本文中,我們會講到 free 命令的基本用法以及它所提供的一些重要的功能。文中提到的所有命令和用法都是在 Ubuntu 16.04LTS 上測試過的。

Linux free 命令

讓我們看一下 free 命令的語法:

free [options]

free 命令的 man 手冊如是說:

free 命令顯示了系統的可用和已用的物理內存及交換內存的總量,以及內核用到的緩存空間。這些信息是從 /proc/meminfo 中得到的。

接下來我們用問答的方式了解一下 free 命令是怎麼工作的。

Q1. 怎麼用 free 命令查看已使用和未使用的內存?

這很容易,您只需不加任何參數地運行 free 這條命令就可以了:

free

這是 free 命令在我的系統上的輸出:

view used and available memory using free command

這些列是什麼意思呢?

  • total - 安裝的內存的總量(等同於 /proc/meminfo 中的 MemTotalSwapTotal
  • used - 已使用的內存(計算公式為:used = total - free - buffers - cache
  • free - 未被使用的內存(等同於 /proc/meminfo 中的 MemFreeSwapFree
  • shared - 通常是臨時文件系統使用的內存(等同於 /proc/meminfo 中的 Shmem;自內核 2.6.32 版本可用,不可用則顯示為 0
  • buffers - 內核緩衝區使用的內存(等同於 /proc/meminfo 中的 Buffers
  • cache - 頁面緩存和 Slab 分配機制使用的內存(等同於 /proc/meminfo 中的 CachedSlab
  • buff/cache - bufferscache 之和
  • available - 在不計算交換空間的情況下,預計可以被新啟動的應用程序所使用的內存空間。與 cache 或者 free 部分不同,這一列把頁面緩存計算在內,並且不是所有的可回收的 slab 內存都可以真正被回收,因為可能有被佔用的部分。(等同於 /proc/meminfo 中的 MemAvailable;自內核 3.14 版本可用,自內核 2.6.27 版本開始模擬;在其他版本上這個值與 free 這一列相同)

Q2. 如何更改顯示的單位呢?

如果需要的話,你可以更改內存的顯示單位。比如說,想要內存以兆為單位顯示,你可以用 -m 這個參數:

free -m

free command display metrics change

同樣地,你可以用 -b 以位元組顯示、-k 以 KB 顯示、-m 以 MB 顯示、-g 以 GB 顯示、--tera 以 TB 顯示。

Q3. 怎麼顯示可讀的結果呢?

free 命令提供了 -h 這個參數使輸出轉化為可讀的格式。

free -h

用這個參數,free 命令會自己決定用什麼單位顯示內存的每個數值。例如:

diplsy data fromm free command in human readable form

Q4. 怎麼讓 free 命令以一定的時間間隔持續運行?

您可以用 -s 這個參數讓 free 命令以一定的時間間隔持續地執行。您需要傳遞給命令行一個數字參數,做為這個時間間隔的秒數。

例如,使 free 命令每隔 3 秒執行一次:

free -s 3

如果您需要 free 命令只執行幾次,您可以用 -c 這個參數指定執行的次數:

free -s 3 -c 5

上面這條命令可以確保 free 命令每隔 3 秒執行一次,總共執行 5 次。

註:這個功能目前在 Ubuntu 系統上還存在 問題,所以並未測試。

Q5. 怎麼使 free 基於 1000 計算內存,而不是 1024?

如果您指定 free 用 MB 來顯示內存(用 -m 參數),但又想基於 1000 來計算結果,可以用 --sj 這個參數來實現。下圖展示了用與不用這個參數的結果:

How to make free use power of 1000 (not 1024) while displaying memory figures

Q6. 如何使 free 命令顯示每一列的總和?

如果您想要 free 命令顯示每一列的總和,你可以用 -t 這個參數。

free -t

如下圖所示:

How to make free display total of columns

請注意 Total 這一行出現了。

總結

free 命令對於系統管理來講是個極其有用的工具。它有很多參數可以定製化您的輸出,易懂易用。我們在本文中也提到了很多有用的參數。練習完之後,請您移步至 man 手冊了解更多內容。

via: https://www.howtoforge.com/linux-free-command/

作者:Himanshu Arora 譯者:jessie-pang 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國