free 命令示例
free
命令是了解系統內存(RAM)消耗情況,以及是否啟用了交換的最簡單方法之一。
但問題是:如何使用 free
命令? 嗯,這非常簡單,不需要任何復雜的步驟。
因此,在本教程中,我將引導你使用 free
命令,并附有示例和練習題供你練習。
Linux 中如何使用 free 命令
要使用 free
或任何其他命令,最好從命令語法開始,我將從相同的開始。
以下是 free
命令的語法:
free [選項]
有多個選項可以使用,以更改 free
命令的默認行為。
現在,讓我分享一些 free
命令常用的選項:
選項 | 描述 |
| 通過調整 KB、GB 等數據單位,以人類可讀的形式打印信息。 |
| 在給定的時間間隔后更新 |
| 顯示系統和交換內存的總量。 |
| 以 GB 為單位顯示數據。 |
| 以 MB 為單位打印信息。 |
| 以 KB 為單位顯示輸出。 |
但是如果執行不帶選項的 free
命令會怎樣呢? 你可以看到下面的內容:
這里,
total
:表示存儲總量。used
:顯示系統已使用的存儲空間。free
:可用于新進程的可用內存量。shared
:tmpfs(臨時文件系統)使用的內存量。buff/cache
: 表示緩沖區和緩存使用的內存總和。available
:它估計有多少內存可用于啟動新應用而無需交換。它是free
內存和可以立即使用的buff/cache
的一部分的總和。
因此,如果你想要各種信息,只需輸入不帶選項的命令即可。
現在,讓我們看一下 free
命令的一些示例。
1、以人類可讀的形式顯示信息
默認情況下,free
命令將以千字節為單位顯示數據,這不是最易讀的形式。
這就是 -h
選項發揮作用的地方,它以人類可讀的形式(例如 KB 或 GB)打印值。
free -h
2、連續顯示統計數據
一旦執行 free
命令,它只會顯示執行該命令時的統計信息。例如,如果我在 12:45
執行 free
命令,那么它只會顯示該時間的統計信息。
所以問題是:如何實現類似的行為,如顯示實時統計數據的 htop?這不完全相同,但你可以使用 -s
標志以特定時間間隔刷新統計信息,如下所示:
free -s <秒>
例如,如果我想每秒刷新一次 free
命令,那么我將使用以下命令:
free -s 1
3、定義顯示統計數據的次數
在前面的示例中,我解釋了如何使用 free
命令連續顯示統計信息,但你可能不希望它無休止地刷新,而只刷新幾次。
為此,你可以使用 -c
標志,如下所示:
free -c <顯示統計信息的次數>
假設我想查看統計數據 3 次,那么我將使用以下內容:
free -c 3
默認情況下,它將每秒刷新一次數據,但你可以使用 -s
標志來指定間隔時間:
free -c <顯示統計數據的次數> -s <秒數>
例如,在這里,如果我想以 2 秒的間隔顯示統計信息 3 次,那么我將使用以下命令:
free -c 3 -s 2
4、指定輸出數據類型
雖然對于大多數用戶來說,使用 -h
標志以人類可讀的形式顯示數據就可以完成工作,但是如果你想自己指定數據類型怎么辦?
那么,你可以使用以下標志指定數據類型:
標志 | 描述 |
| 以 KB 為單位顯示內存。 |
| 以 MB 節為單位顯示內存。 |
| 以 GB 為單位顯示內存。 |
| 以 TB 為單位顯示內存。 |
你可以通過以下方式使用上述標志:
free --<kilo/mega/giga/tera>
例如,如果我希望以 MB 為單位顯示內存統計信息,那么我將使用以下命令:
free --mega
5、獲取物理內存和交換內存的總和
默認情況下,可用內存將顯示物理內存和交換內存的行,但是如果你想獲得它們的總和怎么辦?
好吧,你可以使用 -t
標志:
free -t
練習題 ????
你可以練習以下一些問題,以更好地使用 free
命令:
- 連續打印內存統計數據 3 次,中間間隔 3 秒。
- 以人類可讀的形式獲取物理內存和交換內存的總和。
- 重定向
free
命令的輸出到文本文件中。 - 如何從
free
命令的輸出中只打印一列? (提示:使用 awk 命令 并指定列號)。
如果你對這些問題有任何疑問,你可以在此處發表評論。
總結
每個命令都會以某種方式派上用場。free
命令也有這樣一個被低估的場景來獲取有用的信息。
?? 我希望你發現本指南有用! 請讓我知道你對我接下來應該介紹什么內容的想法?