首頁  >  文章  >  系統教程  >  初學者應該看看的6個free指令例子

初學者應該看看的6個free指令例子

WBOY
WBOY轉載
2024-04-05 09:13:15905瀏覽

在 Linux 系統上,有時你可能會想從命令列快速地了解系統的已使用和未使用的記憶體空間。如果你是一個 Linux 新手,有個好消息:有一個系統內建的指令可以顯示這些資訊:free。在本文中,我們會講到 free 指令的基本用法以及它所提供的一些重要的功能,文中提到的所有指令和用法都是在 Ubuntu 16.04LTS 上測試過的。

初學者應該看看的6個free指令例子

#Linux free 指令

讓我們來看看 free 指令的語法:

free [options]

free 指令的 man 手冊如是說:

free 指令顯示了系統的可用和已使用的實體記憶體及交換記憶體的總量,以及核心用到的快取空間。這些資訊是從 /proc/meminfo 中得到的。

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

Q1. 怎麼用 free 指令查看已使用和未使用的記憶體?

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

free

這是 free 指令在我的系統上的輸出:
初學者應該看看的6個free指令例子

這些欄位是什麼意思呢?

  • total - 安裝的記憶體的總量(等同於 /proc/meminfo 中的 MemTotal 和 SwapTotal)
  • used - 已使用的記憶體(計算公式為:used = total - free - buffers - cache)
  • free - 未被使用的記憶體(等同於 /proc/meminfo 中的 MemFree 和 SwapFree)
  • shared - 通常是臨時檔案系統使用的記憶體(等同於 /proc/meminfo 中的 Shmem;自核心 2.6.32 版本可用,不可用則顯示為 0)
  • buffers - 核心緩衝區所使用的記憶體(等同於 /proc/meminfo 中的 Buffers)
  • cache - 頁面快取和 Slab 分配機制使用的記憶體(等同於 /proc/meminfo 中的 Cached 和 Slab)
  • buff/cache - buffers 與 cache 總和
  • available - 在不計算交換空間的情況下,預計可以被新啟動的應用程式所使用的記憶體空間。與 cache 或 free 部分不同,這一列把頁面快取計算在內,並且不是所有的可回收的 slab 記憶體都可以真正被回收,因為可能有被佔用的部分。 (等同於 /proc/meminfo 中的 MemAvailable;自核心 3.14 版本可用,自核心 2.6.27 版本開始模擬;在其他版本上這個值與 free 這一列相同)
Q2. 如何更改顯示的單位呢?

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

free -m

初學者應該看看的6個free指令例子

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

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

free 指令提供了 -h 這個參數讓輸出轉換為可讀的格式。

free -h

用這個參數,free 指令會自己決定用什麼單位顯示記憶體的每個數值。例如:
初學者應該看看的6個free指令例子

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 这个参数来实现。下图展示了用与不用这个参数的结果:

初學者應該看看的6個free指令例子

Q6. 如何使 free 命令显示每一列的总和?

如果您想要 free 命令显示每一列的总和,你可以用 -t 这个参数。

free -t

如下图所示:
初學者應該看看的6個free指令例子

总结

free 命令对于系统管理来讲是个极其有用的工具。它有很多参数可以定制化您的输出,易懂易用。我们在本文中也提到了很多有用的参数。练习完之后,请您移步至 man 手册了解更多内容。

以上是初學者應該看看的6個free指令例子的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:linuxprobe.com。如有侵權,請聯絡admin@php.cn刪除