FREE(1) | General Commands Manual | FREE(1) |
名称
free - 显示系统中空闲内存和已用内存的总量
概述
free [option ...]
描述
free 显示系统中空闲和已用的物理内存和交换内存的总量,以及内核使用的缓冲区和缓存的大小。这些信息通过解析 /proc/meminfo 获得。可以显示的列有:
- 总计
- 可使用的内存总量(/proc/meminfo 中的 MemTotal 和 SwapTotal)。这包括物理内存和交换内存,减去被保留的空间和内核二进制代码占用的空间。
- 已用
- 已用或不可用的内存(计算方式为 总计 - 可用)
- 空闲
- 未使用的内存(/proc/meminfo 中的 MemFree 和 SwapFree)
- 共享
- 这部分内存(大多)由 tmpfs 使用(/proc/meminfo 中的 Shmem)
- 缓冲
- 内核缓冲区使用的内存(/proc/meminfo 中的 Buffers)
- 缓存
- 页缓存和 slab 使用的内存(/proc/meminfo 中的 Cached 和 SReclaimable)
- 缓冲/缓存
- 缓冲 和 缓存 的和
- 可用
- 估计有多少内存可用于启动新应用程序,而无需交换。与 缓存 或 空闲 字段提供的数据不同,该字段考虑了页缓存,也考虑了并非所有可回收的内存 slab 都会被回收,因为有正在使用的项目(/proc/meminfo 中的 MemAvailable,在内核 3.14 上可用,在内核 2.6.27+ 上可模拟得到,否则与 空闲 相同)
选项
- -b, --bytes
- 使用字节显示内存大小。
- -k, --kibi
- 使用 KiB 显示内存大小。此为默认选项。
- -m, --mebi
- 使用 MiB 显示内存大小。
- -g, --gibi
- 使用 GiB 显示内存大小。
- --tebi
- 使用 TiB 显示内存大小。
- --pebi
- 使用 PiB 显示内存大小。
- --kilo
- 使用千字节显示内存大小。隐含启用 --si。
- --mega
- 使用兆字节显示内存大小。隐含启用 --si。
- --giga
- 使用吉字节显示内存大小。隐含启用 --si。
- --tera
- 使用太字节显示内存大小。隐含启用 --si。
- --peta
- 使用拍字节显示内存大小。隐含启用 --si。
- -h, --human
- 自动缩放所有输出字段的单位,使得最少显示三位数字,并显示单位。使用以下单位。
B = 字节 Ki = KiB (kibibyte) Mi = MiB (mebibyte) Gi = GiB (gibibyte) Ti = TiB (tebibyte) Pi = PiB (pebibyte)
如果没有显示单位,并且您有 EiB 以上的 RAM 或交换,则数字是以 TiB 为单位,并且各个列可能不能和表头对齐。
- -w, --wide
- 切换到宽模式。宽模式生成的行长度超过 80 个字符。在此模式下,缓冲 和 缓存 在两个单独的列中显示。
- -c, --count N
- 重复输出结果 N 次。需要同时使用 -s 选项。
- -l, --lohi
- 显示详细的低位内存和高位内存统计。
- -L, --line
- 在一行内显示输出,经常和 -s 选项同时使用,来重复显示内存统计信息。
- -s, --seconds 延迟
- 连续地显示结果,每 延迟 秒一次。实际上, 延迟 可以是任何的浮点数,小数点可以用 "." 或 ","。使用了 usleep(3) 以支持微秒精度的延迟。
- --si
- 使用千字节、兆字节、吉字节等(1000 的幂),而不是 KiB、MiB、GiB(1024 的幂)。
- -t, --total
- 增加一行,显示各列的总计。
- -v, --committed
- 增加一行,显示内存分配 (commit) 限制和已分配/未分配的内存量。该行的 总计 列将显示内存分配限制。此行在禁用了内存超分配 (overcommit) 的情况下有用。
- --help
- 显示帮助。
- -V, --version
- 显示版本信息。
文件
- /proc/meminfo
- 内存信息
错误
共享 列的值在 2.6.32 之前的内核中不可用,会被显示为零。
Please send bug reports to procps@freelists.org.
参见
2023-05-02 | procps-ng |